
谷歌教你学 AI-第四讲部署预测模型
Google Cloud发布了名为"AI Adventures"的系列视频,用简单易懂的语言让初学者了解机器学习的方方面面。
观看更多国外公开课,点击"阅读原文"
之前我们更新了前三讲,关于机器学习的概念和具体步骤。后台收到的反馈十分热烈,今天让我们继续更新:第四讲部署预测模型。
回顾之前内容:
谷歌教你学 AI -第一讲机器学习是什么?
谷歌教你学 AI -第二讲机器学习的7个步骤
谷歌教你学 AI-第三讲简单易懂的估算器
主讲人还是来自Google Cloud的开发人员,华裔小哥Yufeng Guo。让我们在学习AI知识的同时来提高英语吧。
CDA字幕组目前在对该系列视频进行汉化,之后将继续连载,欢迎关注和支持~
附有中文字幕的视频如下:
AI Adventures--第四讲部署预测模型
针对不方便打开视频的小伙伴,CDA字幕组也贴心的整理了文字版本,如下:
一旦我们有了训练好的机器学习模型,那么该如何进行预测呢? 敬请收看本期AI Adventures !
谷歌的Cloud Machine Learning Engine能够让你为TensorFlow模型创建预测服务,且不需要任何操作。通过从训练的模型转换为部署的、自动扩展的预测服务,我们可以用更多时间来处理数据。
进行预测:最后一步
我们收集了数据,最终完成了一个合适的模型并验证了它的性能。我们现在终于准备好进入最后阶段:进行预测。
在接受提供预测服务的挑战时,我们希望部署一个专门为服务而构建的模型。特别是一个快速、轻量级的模型,而且是静态的,因为我们不希望在提供服务时出现更新。
此外,我们希望预测服务器能够按需扩展,这能够解决更复杂的问题。
输出TensorFlow模型
事实证明,TensorFlow有一个内置函数,能够在提供预测服务时生成优化的模型。并且能够进行需要的调整,这节省了大量的工作。
这个函数叫做 export_savedmodel(),当你对训练模型的性能满意时,我们可以直接在分类器对象上运行。
这将获取模型的快照,并导出可以在其他地方使用的文件。随着模型的改进,你可以继续得出更新的模型,从而不断提供模型的多个版本。
导出的文件由一个文件和一个文件夹组成。其中文件是 saved_model.pb,它定义了模型结构。变量文件夹包含两个文件,在我们的模型中提供训练权重。
生产中提供模型
一旦你导出模型就可以在提供到生产中了。这里有两个主要的选择: 使用TensorFlow Serving,或者Cloud Machine Learning Engine来提供预测服务。
TensorFlow Serving属于TensorFlow,发布在GitHub上。如果你喜欢对开发环境设施进行配置,并且按需求进行扩展的话,这是不错的选择。
然而,今天我们将主要关注Cloud Machine Learning Engine的预测服务,尽管这两者有相似的文件接口。
Cloud Machine Learning Engine能够让你用导出的TensorFlow模型,并将其转换为预测服务,当中内置API端点且自动扩展,并将达到零(即当没有人请求预测时没有计算机会改变)。
同时它还包含功能丰富的命令行工具、API和UI,因此我们可以根据喜好以不同的方式进行交互。
部署新的预测模型
下面让我们看看如何针对上期分辨鸢尾花的例子,使用Cloud Machine Learning Engine的预测服务。
输出和上传
首先在训练的分类器上运行 export_savedmodel() 。这将生成一个导出模型,我们可以用于预测服务。
接下来,我们要将文件上传到谷歌云存储。当创建新的模型版本时,Cloud machine learning engine将从云存储中读取。
在创建bucket时,一定要选择区域存储类,以确保计算和存储在同一区域。
创建新的模型
在云机器学习UI中,我们可以创建一个新的模型,这实际上是对所有发布版本的封装。版本保存了单个导出模型,而模型抽象帮助将进入的流量导入选择的适当版本。
以下是模型列表视图,在这里我们创建一个新的模型。
创建模型需要给其命名,我们将其命名为iris_model。
创建新版本
接下来,我们将创建一个版本,通过为这个特定的模型版本命名,并将其指向存有导出文件的云存储目录。
就这样,我们创建了模型! 整个过程只需要将服务指向导出模型,并给它命名。
为什么整个过程这么简单呢?
因为服务处理了设置和保护端点的所有操作。此外,我们不需要编写代码,根据需求进行扩展。因为在云端,这种灵活性意味着当需求很低时,不需要支付未使用的计算。
通过为鸢尾花模型建立不需要任何操作的预测服务,我们可以在几分钟内将训练的模型转化为部署的、可自动扩展的预测服务,这意味着我们有更多的时间来处理数据!
欢迎收看本期的AI Adventures。别忘了,当你需要在生产中扩展机器学习服务时,Cloud Machine Learning Engine是不错的选择。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
训练与验证损失骤升:机器学习训练中的异常诊断与解决方案 在机器学习模型训练过程中,“损失曲线” 是反映模型学习状态的核心指 ...
2025-09-19解析 DataHub 与 Kafka:数据生态中两类核心工具的差异与协同 在数字化转型加速的今天,企业对数据的需求已从 “存储” 转向 “ ...
2025-09-19CDA 数据分析师:让统计基本概念成为业务决策的底层逻辑 统计基本概念是商业数据分析的 “基础语言”—— 从描述数据分布的 “均 ...
2025-09-19CDA 数据分析师:表结构数据 “获取 - 加工 - 使用” 全流程的赋能者 表结构数据(如数据库表、Excel 表、CSV 文件)是企业数字 ...
2025-09-19SQL Server 中 CONVERT 函数的日期转换:从基础用法到实战优化 在 SQL Server 的数据处理中,日期格式转换是高频需求 —— 无论 ...
2025-09-18MySQL 大表拆分与关联查询效率:打破 “拆分必慢” 的认知误区 在 MySQL 数据库管理中,“大表” 始终是性能优化绕不开的话题。 ...
2025-09-18DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16CDA 数据分析师:掌控表格结构数据全功能周期的专业操盘手 表格结构数据(以 “行 - 列” 存储的结构化数据,如 Excel 表、数据 ...
2025-09-16MySQL 执行计划中 rows 数量的准确性解析:原理、影响因素与优化 在 MySQL SQL 调优中,EXPLAIN执行计划是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 对象的 text 与 content:区别、场景与实践指南 在 Python 进行 HTTP 网络请求开发时(如使用requests ...
2025-09-15CDA 数据分析师:激活表格结构数据价值的核心操盘手 表格结构数据(如 Excel 表格、数据库表)是企业最基础、最核心的数据形态 ...
2025-09-15Python HTTP 请求工具对比:urllib.request 与 requests 的核心差异与选择指南 在 Python 处理 HTTP 请求(如接口调用、数据爬取 ...
2025-09-12解决 pd.read_csv 读取长浮点数据的科学计数法问题 为帮助 Python 数据从业者解决pd.read_csv读取长浮点数据时的科学计数法问题 ...
2025-09-12CDA 数据分析师:业务数据分析步骤的落地者与价值优化者 业务数据分析是企业解决日常运营问题、提升执行效率的核心手段,其价值 ...
2025-09-12用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11