Индивидуальные модели с комплектом ML

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

И маркировка изображений , и API обнаружения и отслеживания объектов предлагают поддержку пользовательских моделей классификации изображений. Они совместимы с рядом высококачественных предварительно обученных моделей в TensorFlow Hub или с вашей собственной моделью, обученной с помощью TensorFlow, AutoML Vision Edge или TensorFlow Lite Model Maker.

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

Преимущества использования ML Kit с пользовательскими моделями

Преимущества использования пользовательской модели классификации изображений с ML Kit:

  • Простые в использовании высокоуровневые API-интерфейсы . Нет необходимости иметь дело с низкоуровневым вводом/выводом модели, обрабатывать изображения до и после обработки или создавать конвейер обработки.
  • Не нужно беспокоиться о сопоставлении меток самостоятельно , ML Kit извлекает метки из метаданных модели TFLite и выполняет сопоставление за вас.
  • Поддерживает пользовательские модели из самых разных источников , от предварительно обученных моделей, опубликованных в TensorFlow Hub, до новых моделей, обученных с помощью TensorFlow, AutoML Vision Edge или TensorFlow Lite Model Maker.
  • Поддерживает модели, размещенные с помощью Firebase . Уменьшает размер APK, загружая модели по запросу. Отправляйте обновления модели без повторной публикации приложения и выполняйте простое A/B-тестирование с помощью Firebase Remote Config.
  • Оптимизирован для интеграции с Android Camera API .

И, специально для обнаружения и отслеживания объектов :

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

Используйте предварительно обученную модель классификации изображений

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

Используйте модель, опубликованную на TensorFlow Hub.

TensorFlow Hub предлагает широкий спектр предварительно обученных моделей классификации изображений от различных создателей моделей, которые можно использовать с API-интерфейсами маркировки изображений и обнаружения и отслеживания объектов. Следуй этим шагам.

  1. Выберите модель из коллекции моделей, совместимых с ML Kit .
  2. Загрузите файл модели .tflite со страницы сведений о модели. Если возможно, выберите формат модели с метаданными.
  3. Следуйте нашим руководствам по API маркировки изображений или API обнаружения и отслеживания объектов , чтобы узнать, как связать файл модели с вашим проектом и использовать его в приложении для Android или iOS.

Обучите свою собственную модель классификации изображений

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

Варианты обучения собственной модели классификации изображений
AutoML Vision Edge
  • Предлагается через Google Cloud AI
  • Создавайте современные модели классификации изображений
  • Легко оценить производительность и размер
Создатель моделей TensorFlow Lite
  • Повторное обучение модели (перенос обучения) занимает меньше времени и требует меньше данных, чем обучение модели с нуля.
Преобразование модели TensorFlow в TensorFlow Lite
  • Обучите модель с помощью TensorFlow, а затем преобразуйте ее в TensorFlow Lite.

AutoML Vision Edge

Модели классификации изображений, обученные с помощью AutoML Vision Edge, поддерживаются пользовательскими моделями в API маркировки изображений и обнаружения и отслеживания объектов . Эти API также поддерживают загрузку моделей, размещенных с помощью развертывания модели Firebase .

Чтобы узнать больше о том, как использовать модель, обученную с помощью AutoML Vision Edge, в приложениях для Android и iOS, следуйте руководствам по пользовательским моделям для каждого API в зависимости от вашего варианта использования.

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

Библиотека TFLite Model Maker упрощает процесс адаптации и преобразования модели нейронной сети TensorFlow в конкретные входные данные при развертывании этой модели для приложений машинного обучения на устройстве. Вы можете следить за классификацией Colab for Image с помощью TensorFlow Lite Model Maker .

Чтобы узнать больше о том, как использовать модель, обученную с помощью Model Maker, в приложениях для Android и iOS, следуйте нашим руководствам по API маркировки изображений или API обнаружения и отслеживания объектов , в зависимости от вашего варианта использования.

Модели, созданные с помощью конвертера TensorFlow Lite

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

Чтобы узнать больше о том, как использовать модель TensorFlow Lite в приложениях для Android и iOS, следуйте нашим руководствам по API маркировки изображений или API обнаружения и отслеживания объектов , в зависимости от вашего варианта использования.

Совместимость с моделями TensorFlow Lite

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

Тензоры

  • Модель должна иметь только один входной тензор со следующими ограничениями:
    • Данные представлены в формате пикселей RGB.
    • Данные имеют тип UINT8 или FLOAT32. Если тип входного тензора — FLOAT32, он должен указать NormalizationOptions, присоединив Metadata .
    • Тензор имеет 4 измерения: BxHxWxC, где:
      • B – размер партии. Он должен быть равен 1 (вывод на больших партиях не поддерживается).
      • W и H — входная ширина и высота.
      • C — количество ожидаемых каналов. Должно быть 3.
  • Модель должна иметь как минимум один выходной тензор с N классами и либо 2, либо 4 измерениями:
    • (1xН)
    • (1x1x1xН)
  • В настоящее время полностью поддерживаются только модели с одной головкой. Модели с несколькими головками могут выдавать неожиданные результаты.

Метаданные

Вы можете добавить метаданные в файл TensorFlow Lite, как описано в разделе Добавление метаданных в модель TensorFlow Lite .

Чтобы использовать модель с входным тензором FLOAT32, необходимо указать NormalizationOptions в метаданных.

Мы также рекомендуем вам прикрепить эти метаданные к выходному тензору TensorMetadata :

  • Карта меток, указывающая имя каждого выходного класса в виде AssociatedFile с типом TENSOR_AXIS_LABELS (в противном случае могут быть возвращены только числовые индексы выходного класса)
  • Порог оценки по умолчанию, ниже которого результаты считаются слишком ненадежными для возврата, как ProcessUnit с ScoreThresholdingOptions