Пути установки модели ML Kit на Android

Все функции ML Kit по умолчанию используют модели машинного обучения, обученные Google (известные как базовые модели). Данное руководство применимо только к базовым моделям. См. здесь руководство по пользовательским моделям.

Модели в API ML Kit можно установить одним из трех способов:

  1. Разделение: модели загружаются и управляются через сервисы Google Play.
  2. В комплекте: модели статически связаны с вашим приложением во время сборки.
  3. Динамическая загрузка: модели загружаются по требованию.

Поддерживаемые пути установки для каждого API

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

Разделенный В комплекте Динамически загружается
Распознавание текста v2
Распознавание лиц
Обнаружение сетки лица
Обнаружение позы
Сегментация селфи
Сканирование штрих-кода
Маркировка изображений
Обнаружение и отслеживание объектов
Распознавание цифровых чернил
Сканер документов
Тематическая сегментация
сканер кода Google
Идентификация языка
Перевод
Умный ответ
Извлечение сущности

В руководствах по API показано, какие варианты установки доступны для данного API.

Ключевые различия между вариантами установки

Разделенный В комплекте Динамически загружается
Где хранятся модели? Находится в сервисах Google Play и не учитывается в объеме памяти, используемой этим приложением. Сохраняется в хранилище приложения после установки. Сохраняется в хранилище приложения после загрузки модели.
Как размер модели влияет на размер приложения? Не влияет на размер приложения Напрямую влияет на размер приложения Не увеличивает размер приложения, но увеличивает объем хранилища для конкретного приложения.
Когда обновляются модели? Автоматически обновляется при выходе новой версии Необходимо обновить приложение для обновления модели Необходимо обновить приложение для обновления модели
Когда загружаются модели? Перед использованием модели необходимо загрузить Все модели и функции доступны при установке приложения, поэтому их можно использовать сразу. Загрузками, обновлениями и удалениями моделей необходимо управлять вручную с помощью API RemoteModelManager .
Когда модели удаляются с устройства? Сервисы Google Play удалят модель из хранилища только в том случае, если все приложения, зависящие от модели, будут удалены. Модели удаляются из хранилища приложения при его удалении. Загруженные модели удаляются из хранилища приложения при его удалении.

Как выбрать между включенным и несвязанным

Если API поддерживает как объединенные, так и несвязанные варианты установки:

  • Используйте комплектный вариант, если вы отдаете приоритет:

    • Полная функциональность функции сразу после установки приложения
    • Функциональность функции без подключения к сети после установки приложения
  • Используйте раздельный вариант, если вы отдаете приоритет:

    • Меньший размер приложения
    • Автоматические обновления моделей с помощью сервисов Google Play.

Как скачать модели

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

  • Вы можете включить загрузку модели во время установки , добавив объявление в файл AndroidManifest.xml вашего приложения. Например, в приведенном ниже фрагменте кода показано, как настроить приложение для автоматической загрузки модели сканирования штрих-кода после установки приложения из Play Store:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Вы можете запросить явную загрузку через Google Play Services ModuleInstallClient API .

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

Как обновить модели

Чтобы обновить модели при использовании встроенной модели или опции динамически загружаемых моделей:

  1. Обновите файл Gradle вашего приложения, чтобы использовать последнюю версию клиентской библиотеки функций ML Kit.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Перестройте свое приложение.

Почему некоторые API предлагают динамически загружаемые модели

Некоторые API-интерфейсы ML Kit содержат слишком много вариантов модели для объединения. Например, функция распознавания цифровых чернил поддерживает более 300 языков , и не всегда необходимо включать каждый язык в эту функцию во время установки. Для этой цели мы предоставляем третий вариант установки, при котором модели загружаются по требованию после установки. В настоящее время эта опция доступна только для распознавания цифровых рукописных данных , перевода и извлечения объектов .