Использование оптимизатора моделей для моделей tenorflow slim

Я стремлюсь сделать вывод о модели Slimorflow с оптимизатором Intel OpenVINO. Использование открытых документов и слайдов Vino для вывода и тонких документов для модели обучения.

Это проблема классификации нескольких классов. Я обучил модель slim mobilnet_v2 с нуля (используя скрипт train_image_classifier.py). Оценка обученной модели на наборе тестов дает относительно хорошие результаты для начала (с использованием скрипта eval_image_classifier.py):

Eval/ Точность [0,8017] Eval/Recall_5[0,9993]

Однако сингл .ckpt файл не сохраняется (хотя в конце выполнения train_image_classifier.py появляется сообщение типа "model.ckpt сохраняется в checkpoint_dir"), есть 3 файла (.ckpt-180000.data-00000-of-00001, .ckpt-180000.index, .ckpt-180000.meta) вместо

Для оптимизатора модели OpenVINO требуется один файл контрольных точек.

В соответствии с документами я вызываю mo_tf.py со следующими параметрами:

python mo_tf.py --input_model D:/model/mobilenet_v2_224.pb --input_checkpoint D:/model/model.ckpt-180000 -b 1

Выдает ошибку (то же самое, если передать --input_checkpoint D:/model/model.ckpt):

[ ERROR ]  The value for command line parameter "input_checkpoint" must be existing file/directory,  but "D:/model/model.ckpt-180000" does not exist.

Сообщение об ошибке ясно, таких файлов на диске нет. Но, как я знаю, большинство утилит tf конвертируют.ckpt-????. Meta в.ckpt под капотом.

Пытаюсь позвонить:

python mo_tf.py --input_model D:/model/mobilenet_v2_224.pb --input_meta_graph D:/model/model.ckpt-180000.meta -b 1

Причины:

[ ERROR ]  Unknown configuration of input model parameters

Для меня не имеет значения, каким образом я буду переводить граф в промежуточное представление OpenVINO, просто нужно достичь этого результата.

Большое спасибо.

РЕДАКТИРОВАТЬ

Мне удалось запустить оптимизатор модели OpenVINO на замороженном графике модели TF Slim. Однако я до сих пор не знаю, почему мои предыдущие попытки (на основе документов) потерпели неудачу.

1 ответ

Решение

Вы можете попробовать преобразовать модель в замороженный формат (.pb), а затем преобразовать модель с помощью openvino.

.ckpt-meta имеет метаграф. Структура графов вычислений без значений переменных. тот, который вы можете наблюдать в тенорборде.

.ckpt-data имеет значения переменных, без скелета или структуры. чтобы восстановить модель, нам нужны файлы мета и данных.

Файл.pb сохраняет весь график (мета + данные)

Согласно документации открытого вина:

Когда сеть определена в коде Python*, вы должны создать файл графа вывода. Обычно графики строятся в форме, которая позволяет моделировать обучение. Это означает, что все обучаемые параметры представлены в виде переменных на графике. Чтобы использовать график с Оптимизатором модели, он должен быть заморожен. https://software.intel.com/en-us/articles/OpenVINO-Using-TensorFlow

Открытое вино оптимизирует модель путем преобразования взвешенного графика, переданного в замороженном виде.

Другие вопросы по тегам