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