谷歌教你学 AI-第四讲部署预测模型

翻译/校对: Mika

本文为 CDA 数据分析师原创作品,转载需授权

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是不错的选择。

下期预告

在下一期让我们一起了解如何使用TensorBoard进行模型可视化以及调试问题

原文发布于微信公众号 - CDA数据分析师(cdacdacda)

原文发表时间:2018-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小白课代表

软件分享 | SPSS 22 32位/64位 安装教程

SPSS for Windows是一个组合式软件包,它集数据录入、整理、分析功能于一身。用户可以根据实际需要和计算机的功能选择模块,以降低对系统硬盘容量的要求,...

1593
来自专栏IT派

TensorFlow、MXNet、PaddlePaddle三个开源库对比

本文从定位、框架使用、分布式构成三个方面比较了TensorFlow、MXNet、PaddlePaddle三个框架。

2070
来自专栏机器之心

资源 | 基于TensorFlow和Sonnet,DeepMind开源可微神经计算机实现包

选自Github 机器之心编译 参与:蒋思源 去年 DeepMind 在自然期刊上曾介绍过一种记忆增强式的神经网络形式-可微神经计算机。而近日,DeepMin...

2953
来自专栏量子位

WebDNN:浏览器上运行的最快DNN执行框架(Macbook也行)

唐旭 编译整理 量子位出品 | 公众号 QbitAI 深度神经网络(DNN)已经被证明在图像识别、视频识别、自然语言处理、游戏人工智能等诸多不同领域都具有非常大...

4196
来自专栏XAI

Java分布式神经网络库Deeplearning4j 环境搭建和运行一个例子

DeeplearningforJava简单介绍: deeplearning4j是一个Apache 2.0-licensed,开源的,分布式神经网络库编写的jav...

4538

bigML中提升树模型的6个步骤

BigML将提升树模型(Boosted Trees)带入我们日益增长的监督式学习技术套件中。Boosting是一个变体,旨在减少偏见,可能会导致比Bagging...

4150
来自专栏新智元

【代码+教程】重现“世界模型”实验,无监督方式快速训练

1272
来自专栏腾讯移动品质中心TMQ的专栏

【腾讯TMQ】看图测试指南:图像识别在测试中的应用

也许我们使用过Uiautomator或Monkey来进行系统的测试。但在使用过程中总出现用Uiautomator没法识别、用Monkey无法法复现等问题……本文...

7070
来自专栏WOLFRAM

Mathematica 11.1.1 中文版已发布

1493
来自专栏机器学习和数学

[Tensorflow] Tensorflow中模型保存与回收的简单总结

今天要聊得是怎么利用TensorFlow来保存我们的模型文件,以及模型文件的回收(读取)。刚开始接触TensorFlow的时候,没在意模型文件的使用,只要能...

3658

扫码关注云+社区

领取腾讯云代金券