发布人:Luiz GUStavo Martins 和 Elizabeth Kemp,代表 TensorFlow Hub 团队
作为开发者,在面对挑战时您可能会想:“我该如何解决这个问题?”或“该用哪些工具来完成这个任务?”如今,机器学习能在越来越多的场景中发挥作用!对于传统编程来说,许多极具挑战性的任务,如检测图像中的目标、对声音事件进行分类,或理解文本,都可以用机器学习 (ML) 解决。
但训练机器学习模型可能需要大量的时间和数据,以及该领域深厚的专业知识,同时还会耗费大量资源。但如果有人已经解决了相同的问题,使您无需从头开始、或者至少解决了非常类似的问题,给了您不错的起点呢?这时就轮到 TensorFlow Hub 大显身手了!
TensorFlow Hub 是一个开放的、预训练机器学习模型的代码库。只要稍作调整,无论是服务器、移动设备,还是微控制器或浏览器,均可部署。
目前,开发者正在使用 TF Hub 提供的模型解决来许多领域中的实际问题。在 2021 年 Google I/O 大会上,我们特别介绍了一些开发者利用 TensorFlow Hub 中的模型改变世界的例子。
在本文中,我们也将介绍这些用例,并附上链接,方便您进一步了解。
图像
图像分类是机器学习最常见的用例之一。这个领域取得了极佳成果,并努力突破研究极限,其发展有力推动了机器学习的整体发展。
TensorFlow Hub 有许多用于图像问题领域的模型,涉及 图像分类、对象检测、图像分割、姿态检测、风格迁移 等众多任务。
许多可用模型都含有可视化工具(如下所示)。工具就位于模型的文档页面,让您无需使用任何代码或下载任何东西,就能试用模型。
TFHub 让迁移学习 更加简单,也更易于通过许多先进模型(如 MobilenetV3、EfficientNet V2)进行试验,以便找出与您数据最匹配的模型。此 CropNet 教程 提供了一个,创建检测木薯叶疾病的最佳模型、并将其部署到设备上以供实地使用的真实用例。
文本
理解文本对计算机来说一直是极具挑战性的任务,因为计算机需要处理上下文,以及大量单词和短语。TensorFlow Hub 上提供许多先进的自然语言处理 (NLP) 模型,您可随时使用。
其中一个例子是 BERT 系列模型。通过 TFHub 使用这些模型比以往更轻松。除了基本 BERT 模型外,我们还有更高级的版本可供您使用,并提供多种语言,您可以在 Making BERT Easier with Preprocessing Models From TensorFlow Hub(利用 TensorFlow Hub 中的预处理模型简化 BERT)中查看。
MuRIL 模型 是一个很好的例子。该模型是一个利用 17 种印度语言训练的、多语言 BERT 模型,供开发者用来解决印度当地的 NLP 难题。
预处理模型的动画,该模型让您能轻松地将文本输入 BERT
开发者还可以使用 TF Hub 垃圾留言检测模型 来检测在线论坛中的垃圾评论。该模型可用于 TF.js 和 TFLite,且能在浏览器和设备端运行。
音频
TF Hub 有许多音频模型,可用于桌面设备、移动设备上的设备端推断,或是网页。还有一些音频嵌入模型,可配合迁移学习使用,您可根据自己的数据对其进行调整。
开发者正在使用音频分类来了解 森林 (How ZSL uses ML to classify gunshots to protect wildlifeZSL(ZSL 如何使用 ML 对枪声进行分类以保护野生动物)) 或 海洋内部 (Acoustic Detection of Humpback Whales Using a Convolutional Neural Network(使用卷积神经网络对座头鲸进行声学检测)) 的情况,甚至与我们生活更相关的,了解自己家中的情况 (Important household sounds become more accessible(重要的家中声音变得更易获取))。
视频
视频处理变得日益重要,而 TensorFlow Hub 也有这个领域的模型,比如可以执行视频分类的 MoViNet 系列 或用于动作识别的 I3D。
TFHub 还有关于 动作识别、视频插帧 和 文本到视频检索 的教程。
总结
相较于重写代码,重复利用代码通常是更好的选择。这种说法同样适用于机器学习模型。如果您能使用预训练的模型来完成任务,就可以节省时间、资源,且有助于您对现实世界产生影响。TensorFlow Hub 有数以千计的模型,可供您部署,或通过迁移学习根据任务进行自定义。
如果您想进一步了解如何使用 TensorFlow Hub 并获取优质教程,请查看 tensorflow.org/hub 上的文档。如要寻找有助于您产生现实影响的模型,请在 tfhub.dev 上进行搜索。
请与我们和社区分享您构建出的作品。您可以在 TensorFlow 论坛 上与团队交流,并找到乐于助人的社区!