Модели машинного обучения (МО), используемые в LiteRT, изначально создаются и обучаются с использованием библиотек и инструментов ядра TensorFlow. После создания модели с использованием ядра TensorFlow вы можете преобразовать её в более компактный и эффективный формат МО-модели, называемый моделью LiteRT. В этом разделе приведены рекомендации по преобразованию моделей TensorFlow в формат модели LiteRT.
Рабочий процесс преобразования
Преобразование моделей TensorFlow в формат LiteRT может осуществляться несколькими способами в зависимости от содержимого вашей модели машинного обучения. На первом этапе следует оценить модель и определить, можно ли её преобразовать напрямую. Эта оценка определяет, поддерживается ли содержимое модели стандартными средами выполнения LiteRT на основе используемых ею операций TensorFlow. Если ваша модель использует операции, не входящие в поддерживаемый набор, вы можете выполнить рефакторинг модели или использовать расширенные методы преобразования.
На диаграмме ниже показаны основные этапы преобразования модели.

Рисунок 1. Рабочий процесс конвертации LiteRT.
В следующих разделах описывается процесс оценки и преобразования моделей для использования с LiteRT.
Форматы входной модели
Вы можете использовать конвертер со следующими форматами входной модели:
- SavedModel ( рекомендуется ): модель TensorFlow, сохраненная как набор файлов на диске.
- Модель Keras : модель, созданная с использованием высокоуровневого API Keras.
- Формат Keras H5 : облегченная альтернатива формату SavedModel, поддерживаемая API Keras.
- Модели, построенные на основе конкретных функций : модель, созданная с использованием низкоуровневого API TensorFlow.
Вы можете сохранить как Keras, так и конкретные функциональные модели как SavedModel и конвертировать их, используя рекомендуемый путь.
Если у вас есть модель Jax, вы можете использовать API TFLiteConverter.experimental_from_jax для её преобразования в формат LiteRT. Обратите внимание, что в экспериментальном режиме API может быть изменён.
Оценка конверсии
Оценка модели — важный шаг перед её конвертацией. При оценке важно определить, совместимо ли содержимое модели с форматом LiteRT. Также следует определить, подходит ли ваша модель для использования на мобильных и периферийных устройствах с точки зрения объёма используемых данных, требований к аппаратной обработке, а также общего размера и сложности модели.
Для многих моделей конвертер должен работать «из коробки». Однако встроенная библиотека операторов LiteRT поддерживает подмножество основных операторов TensorFlow, что означает, что для некоторых моделей могут потребоваться дополнительные действия перед конвертацией в LiteRT. Кроме того, некоторые операции, поддерживаемые LiteRT, имеют ограниченные требования к производительности. Чтобы определить, требуется ли рефакторинг вашей модели для конвертации, обратитесь к руководству по совместимости операторов .
Преобразование модели
Конвертер LiteRT использует модель TensorFlow и генерирует модель LiteRT (оптимизированный формат FlatBuffer , определяемый расширением файла .tflite ). Вы можете загрузить SavedModel или напрямую преобразовать модель, созданную в коде.
Конвертер использует 3 основных флага (или параметра), которые настраивают преобразование для вашей модели:
- Флаги совместимости позволяют указать, должно ли преобразование разрешать использование пользовательских операторов.
- Флаги оптимизации позволяют указать тип оптимизации, применяемый при преобразовании. Наиболее распространённый метод оптимизации — это квантизация после обучения .
- Флаги метаданных позволяют добавлять метаданные в преобразованную модель, что упрощает создание платформенно-специфичного кода-оболочки при развертывании моделей на устройствах.
Вы можете конвертировать свою модель, используя API Python или командную строку . Пошаговые инструкции по запуску конвертера для вашей модели см. в руководстве по конвертации модели TF .
Обычно модель конвертируется для стандартной среды выполнения LiteRT или среды выполнения сервисов Google Play для LiteRT (бета-версии). В некоторых сложных случаях требуется настройка среды выполнения модели, что требует дополнительных шагов в процессе конвертации. Подробнее см. в разделе « Расширенная среда выполнения» в обзоре Android.
Расширенное преобразование
Если при запуске конвертера на вашей модели возникают ошибки , скорее всего, проблема связана с совместимостью операторов. TensorFlow Lite поддерживает не все операции TensorFlow. Вы можете обойти эти проблемы, выполнив рефакторинг модели или используя расширенные параметры конвертации, которые позволяют создать модифицированную модель формата LiteRT и пользовательскую среду выполнения для этой модели.
- Дополнительную информацию о совместимости моделей TensorFlow и LiteRT см. в разделе Обзор совместимости моделей.
- Темы в разделе «Обзор совместимости моделей» охватывают передовые методы рефакторинга модели, такие как руководство по операторам Select .
- Полный список операций и ограничений см. на странице LiteRT Ops .
Следующие шаги
- Ознакомьтесь с руководством по конвертации моделей TF , чтобы быстро приступить к конвертации вашей модели.
- Ознакомьтесь с обзором оптимизации для получения рекомендаций по оптимизации преобразованной модели с использованием таких методов, как количественная оценка после обучения .
- Ознакомьтесь с обзором добавления метаданных , чтобы узнать, как добавлять метаданные в модели. Метаданные предоставляют описание модели, а также информацию, которую могут использовать генераторы кода.