По умолчанию все функции ML Kit используют модели машинного обучения, обученные Google (так называемые базовые модели). Это руководство применимо только к базовым моделям. Подробнее…
Модели в API ML Kit можно установить одним из трех способов:
- Несвязанные. Модели скачиваются и управляются через сервисы Google Play.
- Встроенные. Модели статически связаны с приложением во время сборки.
- Динамически скачиваемые. Модели скачиваются по запросу.
Поддерживаемые пути установки для каждого API
В таблице ниже показано, какие пути установки модели поддерживаются каждой функцией ML Kit:
| Unbundled | Bundled | Динамически скачиваемые | |
| Распознавание текста (версия 2) | ✅ | ✅ | |
| Распознавание лиц | ✅ | ✅ | |
| Обнаружение сетки лица | ✅ | ||
| Распознавание поз | ✅ | ||
| Сегментация селфи | ✅ | ||
| Сканирование штрихкодов | ✅ | ✅ | |
| Маркировка изображений | ✅ | ✅ | |
| Обнаружение и отслеживание объектов | ✅ | ||
| Распознавание рукописного ввода | ✅ | ||
| Сканер документов | ✅ | ||
| Сегментация объектов | ✅ | ||
| Сканер кодов Google | ✅ | ||
| Идентификация языка | ✅ | ✅ | |
| Translation | ✅ | ||
| Быстрый ответ | ✅ | ✅ | |
| Извлечение объектов | ✅ |
В руководствах по конкретным API указано, какие варианты установки доступны для каждого из них.
Основные различия между вариантами установки
| Unbundled | Bundled | Динамически скачиваемые | |
| Где хранятся модели? | Находится в сервисах Google Play и не учитывается в хранилище, используемом этим приложением. | Сохраняются в хранилище приложения после установки. | Сохраняются в хранилище приложения после скачивания модели. |
| Как размер модели влияет на размер приложения? | Не влияет на размер приложения | Напрямую влияет на размер приложения. | Не влияет на размер приложения, но увеличивает объем хранилища, используемого приложением. |
| Когда обновляются модели? | Автоматически обновляется при выходе новой версии. | Обновление модели требует обновления приложения | Обновление модели |
| Когда скачиваются модели? | Модели нужно скачать перед использованием | Все модели и функции включены в приложение и доступны сразу после установки. | Скачиванием, обновлением и удалением моделей нужно управлять вручную с помощью RemoteModelManager API. |
| Когда модели удаляются с устройства? | Сервисы Google Play удалят модель из хранилища, только если будут удалены все приложения, которые от нее зависят. | Модели удаляются из хранилища приложения, когда удаляется само приложение. | Скачанные модели удаляются из хранилища приложения при удалении приложения. |
Как выбрать между пакетом и отдельными продуктами
Если API поддерживает оба варианта установки:
Используйте пакетный вариант, если для вас важны:
- Полная функциональность сразу после установки приложения
- Работа функции без подключения к сети после установки приложения
Выберите этот вариант, если для вас важны:
- Меньший размер приложения
- Автоматическое обновление моделей сервисами Google Play
Как скачать модели
При использовании варианта с отдельными моделями вы можете указать, как модели должны скачиваться на устройство:
Чтобы включить скачивание моделей при установке, добавьте декларацию в файл
AndroidManifest.xmlприложения. Например, приведенный ниже фрагмент кода показывает, как настроить приложение для автоматического скачивания модели сканирования штрихкодов после установки приложения из Google Play:<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode" > <!-- To use multiple models: android:value="barcode,model2,model3" --> </application>Вы можете запросить явное скачивание через ModuleInstallClient API сервисов Google Play.
Если вы не включите скачивание модели во время установки или не запросите явное скачивание, модель будет скачана при первом запуске функции. Пока скачивание не завершится, запросы на вывод будут отклоняться.
Как обновить модели
Чтобы обновить модели при использовании встроенной модели или динамически загружаемых моделей, выполните следующие действия:
Обновите файл gradle приложения, чтобы использовать последнюю версию клиентской библиотеки ML Kit.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }Пересоберите приложение.
Почему некоторые API предлагают динамически загружаемые модели
Некоторые API ML Kit имеют слишком много вариантов моделей для объединения. Например, распознавание рукописного ввода поддерживает более 300 языков, но не всегда нужно добавлять их все в функцию при установке. Для этого мы предлагаем третий вариант установки, при котором модели скачиваются по запросу после установки. В настоящее время этот параметр есть только у распознавания рукописного ввода, перевода и извлечения объектов.