机器学习套件的所有功能都利用 Google 训练的机器学习模型(称为 基础模型)。本指南仅适用于基本模型。点击此处 获取有关自定义模型的指南。
可以通过以下三种方式之一安装机器学习套件 API 中的模型:
- 未捆绑:通过 Google Play 服务下载和管理模型。
- 捆绑式:模型在构建时静态关联到您的应用。
- 动态下载:模型是按需下载的。
每个 API 支持的安装路径
下表显示了每个机器学习模型支持的模型安装路径 套件功能:
未分类显示 | 捆绑销售 | 动态下载 | |
文字识别 v2 | ✅ | ✅ | |
人脸检测 | ✅ | ✅ | |
人脸网格检测 | ✅ | ||
姿势检测 | ✅ | ||
自拍分割 | ✅ | ||
条形码扫描 | ✅ | ✅ | |
为图片加标签 | ✅ | ✅ | |
对象检测和跟踪 | ✅ | ||
数字手写识别 | ✅ | ||
文件扫描器 | ✅ | ||
正文细分 | ✅ | ||
Google 扫码器 | ✅ | ||
语言识别 | ✅ | ✅ | |
翻译 | ✅ | ||
智能回复 | ✅ | ✅ | |
实体提取 | ✅ |
API 特定的指南显示了适用于指定 API。
安装选项之间的主要区别
不汇总显示 | 捆绑销售 | 动态下载 | |
模型存储在何处? | 位于 Google Play 服务中,不计入存储空间用量 由此应用使用 | 保存在应用专属存储空间中 安装后 | 保存在应用专属存储空间中 模型下载后 |
模型大小如何影响应用大小? | 不计入应用大小 | 直接影响应用大小 | 不计入应用大小,但会增加 应用专属存储空间 |
模型何时更新? | 有新版本发布时自动更新 | 需要更新应用才能更新模型 | 需要更新应用才能更新模型 |
模型何时下载? | 模型必须先下载,然后才能使用 | 安装后,所有模型和功能都会包含在内,因此可立即使用 | 必须使用 RemoteModelManager API |
模型何时会从设备中移除? | 只有在所有应用都启用的情况下,Google Play 服务才会从存储空间中移除该模型 依赖该模型的应用 | 模型会从应用专属存储空间中移除 当应用被卸载时触发 | 已下载的模型会从应用专属存储空间中移除 当应用被卸载时触发 |
如何在捆绑销售和未捆绑之间进行选择
如果 API 同时支持捆绑和未捆绑安装选项:
如果您有以下需求,请使用套装选项:
- 在应用安装后立即提供完整的功能功能
- 应用安装后,无需网络连接即可使用的功能
如果您有以下需要优先处理的事项,请使用“不捆绑”选项:
- 缩减应用大小
- Google Play 服务自动更新模型
如何下载模型
使用未捆绑模型选项时,您可以指定 :
如需启用安装时模型下载功能,您可以在 应用的
AndroidManifest.xml
文件。例如,以下代码段 显示了如何将应用配置为自动下载条形码 用户从 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 文件以使用最新的机器学习套件功能客户端 库。
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }
重新构建您的应用。
为什么有些 API 提供动态下载的模型
某些机器学习套件 API 有太多模型选项无法捆绑。例如,数字墨水 识别支持 300 多种 语言,并且 在安装过程中始终有必要在功能中添加各种语言。 为此,我们提供了第三种安装选项, 安装后按需下载。目前,我们仅支持数字墨水 识别, Translation 和 Entity 可以选择此选项。