Пути установки модели 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 Services

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

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

  • Вы можете включить загрузку модели во время установки, добавив соответствующее объявление в файл 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>
    
  • Вы можете запросить явную загрузку через API Google Play Services ModuleInstallClient .

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

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

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

  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 языков , и не всегда требуется добавлять каждый язык в функцию при установке. Для этой цели мы предлагаем третий вариант установки, при котором модели загружаются по запросу после установки. В настоящее время такая возможность доступна только для функций распознавания цифровых рукописных текстов , перевода и извлечения сущностей .