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

,

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