По умолчанию все функции ML Kit используют модели машинного обучения, обученные Google (так называемые базовые модели). Это руководство применимо только к базовым моделям. Подробнее о специальных моделях
Модели в API ML Kit можно установить одним из трех способов:
- Отдельные. Модели скачиваются и управляются через сервисы Google Play.
- Встроенные. Модели статически связаны с приложением во время сборки.
- Динамическая загрузка. Модели скачиваются по запросу.
Поддерживаемые пути установки для каждого API
В таблице ниже показано, какие пути установки модели поддерживаются каждой функцией ML Kit:
| Unbundled | В комплекте | Динамически скачиваемые | |
| Распознавание текста версии 2 | ✅ | ✅ | |
| Распознавание лиц | ✅ | ✅ | |
| Обнаружение сетки лица | ✅ | ||
| Определение позы | ✅ | ||
| Сегментирование селфи | ✅ | ||
| Сканирование штрихкодов | ✅ | ✅ | |
| Ярлыки для изображений | ✅ | ✅ | |
| Обнаружение и отслеживание объектов | ✅ | ||
| Распознавание рукописного ввода | ✅ | ||
| Сканер документов | ✅ | ||
| Сегментация объектов | ✅ | ||
| Сканер кода Google | ✅ | ||
| Определение языка | ✅ | ✅ | |
| Translation | ✅ | ||
| Быстрый ответ | ✅ | ✅ | |
| Извлечение объектов | ✅ |
В руководствах по конкретным API указано, какие варианты установки доступны для каждого из них.
Основные различия между вариантами установки
| Unbundled | В комплекте | Динамически скачиваемые | |
| Где хранятся модели? | Хранится в сервисах Google Play и не учитывается при расчете объема хранилища, используемого этим приложением. | Сохраняется в хранилище приложения после установки. | Сохраняется в хранилище, предназначенном для приложения, после скачивания модели. |
| Как размер модели влияет на размер приложения? | Не влияет на размер приложения | Непосредственно влияет на размер приложения | Не влияет на размер приложения, но увеличивает хранилище приложения. |
| Когда обновляются модели? | Автоматически обновляется при выходе новой версии. | Чтобы обновить модель, нужно обновить приложение | Чтобы обновить модель, нужно обновить приложение |
| Когда скачиваются модели? | Модели нужно скачать перед использованием | Все модели и функции доступны сразу после установки приложения. | Скачивание, обновление и удаление моделей необходимо выполнять вручную с помощью API RemoteModelManager. |
| Когда модели удаляются с устройства? | Сервисы 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>Вы можете запросить явную загрузку через сервисы Google Play ModuleInstallClient API.
Если вы не включите скачивание модели во время установки или не запросите явное скачивание, модель будет скачана при первом запуске функции. Пока скачивание не завершится, запросы на вывод будут отклоняться.
Как обновить модели
Чтобы обновить модели, когда используется встроенная модель или модели, скачиваемые динамически:
Обновите файл 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 языков, и при установке не всегда нужно добавлять в функцию все языки. Для этого мы предлагаем третий вариант установки, при котором модели скачиваются по запросу после установки. В настоящее время эта функция доступна только для распознавания рукописного ввода, перевода и извлечения объектов.