迁移指南

2020 年 6 月 3 日,我们对 Firebase 机器学习套件进行了一些更改,以便更好地区分设备端 API 和云端 API。当前的 API 集现已拆分为以下两款产品:

如果您只需要设备端解决方案,此变更还可让您更轻松地将机器学习套件集成到应用中。本文档介绍了如何从 Firebase ML Kit SDK 将应用迁移到新的机器学习套件 SDK。

有何变化?

设备上的基本 API

以下 API 已移至新的独立机器学习套件 SDK。

  • 条形码扫描
  • 人脸检测
  • 图像标签
  • 对象检测和跟踪
  • 文字识别
  • 语言 ID
  • 智能回复
  • 翻译
  • AutoML Vision Edge 推断 API

适用于 Firebase SDK 的机器学习套件中的现有设备端基本 API 已弃用,并且不会再收到更新。

如果您现在在应用中使用这些 API,请按照适用于 Android 的机器学习套件迁移指南适用于 iOS 的机器学习套件迁移指南迁移到新的机器学习套件 SDK。

自定义模型 API

对于在 Firebase 中托管的模型,我们将继续通过 Firebase ML SDK 提供自定义模型下载程序。SDK 提取最新的可用模型,并将其传递给单独的 TensorFlow Lite 运行时进行推理。

适用于 Firebase SDK 的机器学习套件中的现有自定义模型解释器已被弃用,并且不会再收到更新。我们建议直接使用 TensorFlow Lite 运行时进行推理。或者,如果您只想为图片加标签以及对象检测和跟踪 API 使用自定义模型,现在可以在机器学习套件的这些 API 中直接使用自定义模型

如需了解详细说明,请参阅适用于 AndroidiOS 的迁移指南。

哪些方面未发生变化?

Firebase ML 将继续提供云端 API 和服务:

  • Firebase ML SDK 仍会提供云端图片标记、文本识别和地标识别 API。

  • Firebase ML 也继续提供模型部署

常见问题解答

此次变更的原因

我们实施这项更改是为了阐明产品提供的解决方案。经过此次变更,新的机器学习套件 SDK 将完全专注于设备端机器学习,所有数据处理都在设备端进行,开发者可免费使用。以前属于 Firebase ML Kit 的云服务仍可通过 Firebase ML 使用,并且您仍可将其与机器学习套件 API 结合使用。

对于设备端 API,新的机器学习套件 SDK 让开发者能够更轻松地将机器学习套件集成到他们的应用中。今后,您只需将依赖项添加到应用的项目中,然后即可开始使用该 API。无需仅使用 Firebase 设备端 API 即可设置 Firebase 项目。

使用 Firebase 托管的模型会受到什么影响?

Firebase 机器学习会继续像以前一样提供您的模型。该功能不会改变。以下是几项改进:

  • 现在,您可以使用 Python SDK 或 Node SDK 以编程方式将模型部署到 Firebase。

  • 您现在可以将 Firebase ML SDK 与 TensorFlow Lite 运行时搭配使用。Firebase SDK 会将模型下载到设备上,然后由 TensorFlow Lite 运行时执行推理。这样,您就可以轻松选择自己偏好的运行时版本,包括自定义 build。

迁移到新的机器学习套件 SDK 有什么好处?

迁移到新 SDK 可以确保您的应用受益于最新的问题修复和设备端 API 的改进。例如,下面是第一个版本中的几项更改:

  • 您现在可以使用新的自定义图片标签自定义对象检测和跟踪 API 轻松地在您的应用中集成自定义图片分类模型,并构建实时交互式用户体验。

  • 所有 API 中都添加了 Android Jetpack 生命周期支持。您现在可以在应用使用用户 / 系统进行屏幕旋转或关闭时,使用 addObserver 自动管理 ML Kit API 的启动和拆解。这样可以更轻松地与 CameraX 集成。

如需查看最新变更的完整列表,请参阅 ML Kit SDK 版本说明

我今天使用的是机器学习套件 Firebase,何时需要迁移?

这取决于您当前在应用中使用的 Firebase 机器学习套件。

  • 在可预见的未来,机器学习套件 Firebase SDK 中的设备端基本 API 将继续正常运行。不过,延迟迁移到新的机器学习套件 SDK 并不会让您从新功能和更新中受益。此外,更新应用中的其他组件后,您可能会遇到依赖项冲突的风险。当您的某些其他依赖项(直接或间接)比旧版机器学习套件的 Firebase SDK 预期的依赖项新时,可能会发生这种情况。OkHttp 和 firebase-common 就是这样一个库。

  • 如果您通过适用于 Firebase SDK 的机器学习套件使用 Cloud API,目前无需进行任何更改。

  • 如果您使用的是自定义模型部署,我们建议您升级到最新版本,以便直接在 TensorFlow Lite 运行时中运行推断。