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