Создание моделей TensorFlow Lite

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

Создание вашей модели

Если вы создаете пользовательскую модель для своего конкретного случая использования, вам следует начать с разработки и обучения модели TensorFlow или расширения существующей.

Ограничения дизайна модели

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

  • Ограниченные вычислительные возможности . По сравнению с полностью оборудованными серверами с несколькими ЦП, большой емкостью памяти и специализированными процессорами, такими как GPU и TPU, мобильные и периферийные устройства гораздо более ограничены. Хотя их вычислительная мощность и совместимость со специализированным оборудованием растут, модели и данные, которые вы можете эффективно обрабатывать с их помощью, по-прежнему сравнительно ограничены.
  • Размер моделей . Общая сложность модели, включая логику предварительной обработки данных и количество слоев в модели, увеличивает размер модели в памяти. Большая модель может работать неприемлемо медленно или просто не помещаться в доступной памяти мобильного или пограничного устройства.
  • Размер данных . Размер входных данных, которые могут быть эффективно обработаны с помощью модели машинного обучения, ограничен на мобильном или пограничном устройстве. Модели, в которых используются большие библиотеки данных, такие как языковые библиотеки, библиотеки изображений или библиотеки видеоклипов, могут не подходить для этих устройств, и для них могут потребоваться решения для хранения и доступа вне устройства.
  • Поддерживаемые операции TensorFlow. Среды выполнения TensorFlow Lite поддерживают подмножество операций модели машинного обучения по сравнению с обычными моделями TensorFlow. При разработке модели для использования с TensorFlow Lite вы должны отслеживать совместимость вашей модели с возможностями сред выполнения TensorFlow Lite.

Дополнительные сведения о создании эффективных, совместимых и высокопроизводительных моделей для TensorFlow Lite см. в разделе Рекомендации по повышению производительности.

Разработка модели

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

Рабочий процесс сборки TFLite

TensorFlow предоставляет для этого два пути. Вы можете разработать свой собственный код модели или начать с реализации модели, доступной в TensorFlow Model Garden .

Модельный сад

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

Независимо от того, хотите ли вы оценить производительность известной модели, проверить результаты недавно опубликованных исследований или расширить существующие модели, Model Garden поможет вам достичь целей машинного обучения.

Пользовательские модели

Если ваш вариант использования выходит за рамки тех, которые поддерживаются моделями в Model Garden, вы можете использовать библиотеку высокого уровня, например Keras , для разработки собственного обучающего кода. Чтобы изучить основы TensorFlow, см. руководство по TensorFlow . Чтобы начать работу с примерами, ознакомьтесь с обзором руководств по TensorFlow , который содержит указатели на руководства для начинающих и экспертов.

Оценка модели

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

  • TensorBoard — это инструмент для обеспечения измерений и визуализации, необходимых в процессе машинного обучения. Он позволяет отслеживать метрики эксперимента, такие как потери и точность, визуализировать график модели, проецировать вложения в пространство меньшего размера и многое другое.
  • Для каждой поддерживаемой платформы доступны инструменты сравнительного анализа, такие как приложение для тестирования Android и приложение для тестирования iOS. Используйте эти инструменты для измерения и расчета статистики по важным показателям производительности.

Оптимизация модели

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

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