Это наиболее вероятно, потому что ваша модель не квантована .Устройства Edge TPU в настоящее время не поддерживают вывод модели на основе числа с плавающей запятой. Для достижения наилучших результатов, вы должны включить квантование во время обучения (описано в ссылке) .Тем не менее, вы также можете применить квантование во время преобразования TensorFlow Lite.
С квантованием после обучения вы жертвуете точностью, но можете быстрее что-то проверить.Когда вы конвертируете свой график в формат TensorFlow Lite, установите inference_type
на QUANTIZED_UINT8
.Вам также необходимо применить параметры квантования (mean / range / std_dev) к командной строке.
tflite_convert \
--graph_def_file=optimized_graph.pb \
--output_format=TFLITE \
--output_file=mobilenet_v2_new.tflite \
--inference_type=QUANTIZED_UINT8 \
--input_arrays=input \
--output_arrays=final_result \
--input_shapes=1,224,224,3 \
--mean_values=128 --std_dev_values=127 \
--default_ranges_min=0 --default_ranges_max=255
Затем вы можете передать квантованный файл .tflite
компилятору модели .
Более подробную информацию о требованиях к модели Edge TPU можно найти в моделях TensorFlow на Edge TPU .