Как скомпилировать экстрактор встраивания в Edge TPU Model Compiler?

Ошибка при компиляции встроенного экстрактора на коралле

Я пытаюсь переобучить классификатор изображений на моем устройстве Coral Edge TPU. Поэтому я выполнил шаги, описанные в учебнике Корал "Восстановить модель классификации изображений на устройстве":

создание встроенного экстрактора

На самом деле я создал файл tflite экстрактора для встраивания в соответствии с приведенным примером:

tflite_convert \
--output_file=mobilenet_v1_embedding_extractor.tflite \
--graph_def_file=mobilenet_v1_1.0_224_quant_frozen.pb \
--input_arrays=input \
--output_arrays=MobilenetV1/Logits/AvgPool_1a/AvgPool

Загрузка компилятора модели Edge TPU

Я получил файл mobilenet_v1_embedding_extractor.tflite и загрузил его в Edge TPU Model Compiler, К сожалению, процесс компиляции завершается неудачно, и я получаю следующее сообщение об ошибке:


ERROR: Something went wrong. Couldn't compile model.

More details
--------------
Start Time     2019-05-02T14:14:53.309219Z
State          FAILED
Duration       5.963912978s
Type           type.googleapis.com/google.cloud.iot.edgeml.v1beta1.CompileOperationMetadata
Name           operations/compile/16259636989695619987

С моей точки зрения, вышеупомянутая процедура должна быть выполнена до обучения на устройстве с classification_transfer_learning.py скрипт выполняется на raspberryPi + edgeTPU/ devBoard.

Я надеюсь, что вы можете дать мне подсказку, чтобы решить проблему, и спасибо заранее.

Обновление 3 мая 2019

Компиляция работает без каких-либо ошибок, когда я использую немодифицированную mobilenet_v1_1.0_224_quant.tflite модель.

Я использовал квантованную модель из тензорного потока.

1 ответ

Решение

Кажется, что некоторые флаги для tflite_convert отсутствуют. Мы исправим на сайте как можно скорее. Пожалуйста, попробуй:

tflite_convert \
--output_file=mobilenet_v1_embedding_extractor.tflite \
--graph_def_file=mobilenet_v1_1.0_224_quant_frozen.pb \
--inference_type=QUANTIZED_UINT8 \
--mean_values=128 \
--std_dev_values=128 \
--input_arrays=input \
--output_arrays=MobilenetV1/Logits/AvgPool_1a/AvgPool

Это означает, что вы хотите преобразовать в модель квантования, которая пока является единственным допустимым форматом для конвертера edgetpu. С этими флагами все должно работать нормально.

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