Обзор преобразования модели

Модели машинного обучения (ML), которые вы используете с TensorFlow Lite, изначально создаются и обучаются с использованием основных библиотек и инструментов TensorFlow. После того, как вы создали модель с ядром TensorFlow, вы можете преобразовать ее в меньший и более эффективный формат модели ML, который называется моделью TensorFlow Lite. На этой странице представлены рекомендации по преобразованию моделей TensorFlow в формат модели TensorFlow Lite.

Рабочий процесс преобразования

Преобразование моделей TensorFlow в формат TensorFlow Lite может осуществляться несколькими путями в зависимости от содержимого вашей модели машинного обучения. В качестве первого шага этого процесса вы должны оценить свою модель, чтобы определить, можно ли ее преобразовать напрямую. Эта оценка определяет, поддерживается ли содержимое модели стандартными средами выполнения TensorFlow Lite на основе используемых операций TensorFlow. Если ваша модель использует операции за пределами поддерживаемого набора, у вас есть возможность реорганизовать модель или использовать расширенные методы преобразования.

На приведенной ниже диаграмме показаны основные этапы преобразования модели.

Рабочий процесс преобразования TFLite

Рисунок 1. Рабочий процесс преобразования TensorFlow Lite.

В следующих разделах описывается процесс оценки и преобразования моделей для использования с TensorFlow Lite.

Входные форматы модели

Вы можете использовать конвертер со следующими входными форматами моделей:

Если у вас есть модель Jax, вы можете использовать API TFLiteConverter.experimental_from_jax , чтобы преобразовать ее в формат TensorFlow Lite. Обратите внимание, что этот API может быть изменен в экспериментальном режиме.

Оценка конверсии

Оценка вашей модели является важным шагом перед попыткой ее преобразования. При оценке вы хотите определить, совместимо ли содержимое вашей модели с форматом TensorFlow Lite. Вы также должны определить, подходит ли ваша модель для использования на мобильных и пограничных устройствах с точки зрения размера данных, используемых моделью, требований к аппаратной обработке, а также общего размера и сложности модели.

Для многих моделей преобразователь должен работать из коробки. Однако встроенная библиотека операторов TensorFlow Lite поддерживает подмножество основных операторов TensorFlow, а это означает, что для некоторых моделей могут потребоваться дополнительные действия перед преобразованием в TensorFlow Lite. Кроме того, некоторые операции, поддерживаемые TensorFlow Lite, имеют ограниченные требования к использованию по соображениям производительности. См. руководство по совместимости операторов , чтобы определить, нуждается ли ваша модель в рефакторинге для преобразования.

Преобразование модели

Преобразователь TensorFlow Lite берет модель TensorFlow и создает модель TensorFlow Lite (оптимизированный формат FlatBuffer , определяемый расширением файла .tflite ). Вы можете загрузить SavedModel или напрямую преобразовать модель, созданную в коде.

Вы можете преобразовать свою модель с помощью Python API или инструмента командной строки . Пошаговые инструкции по запуску конвертера на вашей модели см. в руководстве по конвертеру TensorFlow Lite .

Обычно вы конвертируете свою модель для стандартной среды выполнения TensorFlow Lite или среды выполнения сервисов Google Play для TensorFlow Lite (бета-версия). Некоторые расширенные варианты использования требуют настройки среды выполнения модели, что требует дополнительных шагов в процессе преобразования. Дополнительную информацию см. в разделе « Расширенная среда выполнения » в обзоре Android.

Расширенное преобразование

Если вы столкнулись с ошибками при запуске конвертера на вашей модели, скорее всего, у вас проблема с совместимостью оператора. Не все операции TensorFlow поддерживаются TensorFlow Lite. Вы можете обойти эти проблемы, рефакторинг вашей модели или используя расширенные параметры преобразования, которые позволяют вам создать модифицированную модель формата TensorFlow Lite и пользовательскую среду выполнения для этой модели.

Следующие шаги