Понимание export_tflite_ssd_graph.py

#tensorflow #deep-learning #object-detection

#тензорный поток #глубокое обучение #обнаружение объекта

Вопрос:

Вот руководство по преобразованию Mobilenet SSD в tflite в какой-то момент, который они используютexport_tflite_ssd_graph.py , насколько я понимаю, этот пользовательский скрипт используется для поддержки tf.image.non_max_suppression работы.

 export CONFIG_FILE=gs://${YOUR_GCS_BUCKET}/data/pipeline.config
export CHECKPOINT_PATH=gs://${YOUR_GCS_BUCKET}/train/model.ckpt-2000
export OUTPUT_DIR=/tmp/tflite

python object_detection/export_tflite_ssd_graph.py 
--pipeline_config_path=$CONFIG_FILE 
--trained_checkpoint_prefix=$CHECKPOINT_PATH 
--output_directory=$OUTPUT_DIR 
--add_postprocessing_op=true
  

Но мне интересно, что такое pipeline.config и как это создать, если я использую пользовательскую модель (например, лицевые панели), которые используют tf.image.non_max_suppression операцию?

Ответ №1:

Основная цель export_tflite_ssd_graph.py — экспортировать файлы контрольных точек обучения в замороженный график, который впоследствии можно использовать для обучения передаче или для прямого вывода (поскольку они содержат информацию о структуре модели, а также информацию о обученных весах). Фактически, все модели, перечисленные в model zoo, представляют собой замороженный график, сгенерированный таким образом.

Что касается tf.image.non_max_suppression , export_tflite_ssd_graph.py не используется для его «поддержки», но если --add_postprocessing_op установлено true , в замороженный график будет добавлен другой пользовательский операционный узел, этот пользовательский узел будет иметь функциональность, аналогичную op tf.image.non_max_suppression . Смотрите ссылку здесь.

Наконец, pipeline.config файл напрямую соответствует конфигурационному файлу, который вы используете для обучения ( --pipeline_config_path ), это его копия, но часто с измененным пороговым значением оценки (см. Описание здесь о pipeline.config .), поэтому вам придется создать его перед обучением, если вы используете пользовательскую модель. А для создания пользовательского файла конфигурации, вот официальное руководство.

Комментарии:

1. add_postprocessing_op поддерживается ли tflite op или какова цель этого?