Как скомпилировать экстрактор встраивания в Edge TPU Model Compiler? - PullRequest
0 голосов
/ 02 мая 2019

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

Я пытаюсь переобучить классификатор изображений на моем устройстве Coral EdgeTPU. Поэтому я выполнил действия, описанные в учебнике Coral «Восстановить модель классификации изображений на устройстве» :

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

На самом деле я создал файл 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

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

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

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

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

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

1 Ответ

3 голосов
/ 03 мая 2019

Кажется, что некоторые флаги для 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.С этими флагами все должно работать нормально.

...