День сообщества ML - 9 ноября! Присоединяйтесь к нам для обновления от TensorFlow, JAX, и многое другое Подробнее

TensorFlow Lite

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

Ключевая особенность

  • Оптимизирован для машинного обучения на устройстве , устраняя 5 ключевых ограничений: задержка (нет возврата к серверу), конфиденциальность (никакие личные данные не покидают устройство), возможность подключения (подключение к Интернету не требуется), размер (уменьшенная модель и двоичный размер) и энергопотребление (эффективный вывод и отсутствие сетевых подключений).
  • Поддержка нескольких платформ , включая устройства Android и iOS , встроенный Linux и микроконтроллеры .
  • Поддержка разнообразных языков , включая Java, Swift, Objective-C, C ++ и Python.
  • Высокая производительность с аппаратным ускорением и оптимизацией модели .
  • Сквозные примеры для общих задач машинного обучения, таких как классификация изображений, обнаружение объектов, оценка позы, ответы на вопросы, классификация текста и т. Д. На нескольких платформах.

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

В следующем руководстве описаны все этапы рабочего процесса и приведены ссылки на дальнейшие инструкции:

1. Создайте модель TensorFlow Lite.

Модель TensorFlow Lite представлена ​​в специальном эффективном переносимом формате, известном как FlatBuffers (идентифицируется расширением файла .tflite ). Это дает несколько преимуществ по сравнению с форматом буферной модели протокола TensorFlow, такие как уменьшенный размер (небольшой размер кода) и более быстрый вывод (доступ к данным осуществляется напрямую без дополнительного этапа синтаксического анализа / распаковки), что позволяет TensorFlow Lite эффективно работать на устройствах с ограниченными вычислительными ресурсами и ресурсами памяти. .

Модель TensorFlow Lite может дополнительно включать метаданные, которые имеют удобочитаемое описание модели и машиночитаемые данные для автоматического создания конвейеров предварительной и постобработки во время вывода на устройстве. Дополнительные сведения см. В разделе «Добавление метаданных» .

Вы можете создать модель TensorFlow Lite следующими способами:

  • Используйте существующую модель TensorFlow Lite: обратитесь к примерам TensorFlow Lite, чтобы выбрать существующую модель. Модели могут содержать или не содержать метаданные.

  • Создание модели TensorFlow Lite: используйте конструктор моделей TensorFlow Lite, чтобы создать модель с вашим собственным пользовательским набором данных. По умолчанию все модели содержат метаданные.

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

2. Выполнить вывод

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

На устройствах Android и iOS вы можете повысить производительность с помощью аппаратного ускорения. На обеих платформах вы можете использовать делегат графического процессора , на Android вы можете использовать делегат NNAPI (для новых устройств) или делегат Hexagon (на старых устройствах), а на iOS вы можете использовать делегат Core ML . Чтобы добавить поддержку новых аппаратных ускорителей, вы можете определить своего собственного делегата .

Начать

Вы можете обратиться к следующим руководствам в зависимости от вашего целевого устройства:

Технические ограничения