Android 上的机器学习套件模型安装路径

机器学习套件的所有功能都利用 Google 训练的机器学习模型(称为 基础模型)。本指南仅适用于基本模型。点击此处 获取有关自定义模型的指南。

可以通过以下三种方式之一安装机器学习套件 API 中的模型:

  1. 未捆绑:通过 Google Play 服务下载和管理模型。
  2. 捆绑式:模型在构建时静态关联到您的应用。
  3. 动态下载:模型是按需下载的。

每个 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

  • 如果您未启用安装时模型下载或 下载后,模型将在您首次运行该功能时下载。 下载完成之前,推理请求将失败。

如何更新模型

要在使用捆绑模型或动态下载的模型时更新模型,请执行以下操作: 模型选项:

  1. 更新应用的 Gradle 文件以使用最新的机器学习套件功能客户端 库。

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.2.0' // The latest version number of the API
    }
    
  2. 重新构建您的应用。

为什么有些 API 提供动态下载的模型

某些机器学习套件 API 有太多模型选项无法捆绑。例如,数字墨水 识别支持 300 多种 语言,并且 在安装过程中始终有必要在功能中添加各种语言。 为此,我们提供了第三种安装选项, 安装后按需下载。目前,我们仅支持数字墨水 识别TranslationEntity 可以选择此选项。