Совершенно новый для Tensorflow, я создал одну модель обнаружения объектов (.pb и .pbtxt), используя модель «быстрее_rcnn_inception_v2_coco_2018_01_28», которую я нашел в зоопарке TensorFlow. Он отлично работает с окнами, но я хочу использовать эту модель на TPU с коралловым краем Google. Как я могу преобразовать мою замороженную модель в квантованную модель edgetpu.tflite?
преобразовать модель .pb в квантованную модель tflite
Ответы (1)
Есть еще два шага к этому конвейеру:
1) Преобразование .pb в ›tflite:
Я не буду вдаваться в подробности, поскольку на официальной странице tenorflow есть документация, и она очень часто меняется, но я все же постараюсь ответить конкретно на ваш вопрос. Это можно сделать двумя способами:
Обучение с учетом квантования: это происходит во время обучения модели. Я не думаю, что это относится к вам, поскольку ваш вопрос, похоже, указывает на то, что вы не знали об этом процессе. Но, пожалуйста, поправьте меня, если я ошибаюсь.
Квантование после обучения: в основном загружаем вашу модель, где все тензоры имеют тип float, и преобразуем ее в форму tflite с помощью тензоров int8. Опять же, я не буду вдаваться в подробности, но приведу два реальных примера :) а) с кодом б) с инструментами tflite_convert < / а>
2) Скомпилируйте модель из tflite - ›edgetpu.tflite:
После того, как вы создали полностью квантованную модель tflite, поздравляю, ваша модель теперь намного более эффективна для платформы руки, а размер намного меньше. Однако он по-прежнему будет запускаться на процессоре, если вы не скомпилируете его для edgetpu. Вы можете просмотреть этот документ для установки и использования. Но скомпилировать это так же просто, как:
$ edgetpu_compiler -s your_quantized_model.tflite
Надеюсь это поможет!