fashion-mnist使用说明

·          通过fashion-mnist使用说明,演示一套完整的建模流程:演示用户如何使用开发环境,如何使用jupyterlab进行线上的开发建模,以及如何将模型保存到模型库,进行推理服务部署。

·          本章节使用的开发环境功能、TensorBoard功能,以及模型仓库的部分功能、推理服务的部分功能,只有普通用户才可使用。因此操作时,需要切换至普通用户进行操作。

 

开发环境是人工智能平台的核心业务功能之一,它为用户提供了一个线上的jupyber编程环境,方便用户在没有本地计算资源的情况下,直接创建线上的开发实例,进行AI建模、编码,以及基础的运行测试工作。人工智能平台的集群环境是采用Kubernetes+Docker的技术架构,理所当然,开发环境的本质也就是一个容器环境,平台可以根据用户所需要的计算资源、运行环境来创建容器实例。本部分包括fashion-mnist建模示例和快速创建两部分。

人工智能平台的集群环境是采用Kubernetes+Docker的技术架构,理所当然,开发环境的本质也就是一个容器环境,平台可以根据用户所需要的计算资源、运行环境来创建容器实例。

fashion-mnist建模示例

下面就开始第一个示例的完整实操演示。

创建开发环境

  1. [人工智能平台/建模服务/开发环境]页面,单击<创建>按钮,在弹出的窗口中,填写本示例所需要的计算资源,以及运行时镜像环境等信息,如-1所示。

图-1 开发环境

 

参数说明如下:

人工智能平台中,无论是开发环境,还是后续的训练环境、推理服务、可视化环境等,因为它们都需要动态的创建运行实例,需要占用平台中的计算资源,所以平台不能让单个用户毫无限制的随意使用。管理员会针对集群的资源总量,以及当前平台的用户数量做出判断,从而全局配置每个人所能使用的基础资源,以及可创建的实例数量,以达到公平的资源竞争。

 

  1. 单击创建开发环境页面中的<确定>按钮,即可创建容器实例。已创建的开发环境如-2所示。

图-2 开发环境运行中

部分参数说明如下:

只有使用默认的notebook容器类型,<打开>按钮才为可操作状态。

 

运行jupyter示例脚本

  1. 单击已经创建好的开发环境对应的<打开>按钮,进入jupyterlab环境,如-3所示。

图-3 进入jupyterlab环境

 

  1. 在左侧的目录结构,是我们用户空间的“example”目录,直接双击“fashion-mnist.ipynb”,打开完整的开发案例。

图-4 jupyterlab开发案例

 

·          若用户完全按照上面的操作说明顺序进行,打开的编程脚本不需要做任何改动即可运行;否则,用户需要仔细检查自己的目录结构与当前脚本中的相关路径地址是否一致。

·          这里我们不对jupyter的使用进行详细说明,若有疑问,可以直接百度或者google

 

  1. 单击运行按钮之后,当前单元格的下方,就会展示出单元格脚本的输出结果。如-5所示,可以看到我们输出了tensorflow的版本号信息,是1.14.0。具体的运行过程不再描述,只要按顺序依次执行即可。

图-5 运行案例

http://10.121.44.6:34000/assets/fashionmnist-11.png

 

这里对该图中示例的代码做一个简单的讲解,说明如下:

下面展示几段核心代码:

图-6 建模以及训练的代码

http://10.121.44.6:34000/assets/fashionmnist-12.png

 

mnist.h5模型转换为saved_model格式的代码。

 

图-7 训练过程中的日志

http://10.121.44.6:34000/assets/fashionmnist-14.png

 

展示一个预测的日志(使用matplotlib组件进行的特殊处理,使预测结果更直观)。

 

图-8 预测的日志

http://10.121.44.6:34000/assets/fashionmnist-15.png

 

·          其中训练过程,用户是可以反复的改动相关参数,进行反复训练的,直到用户觉得训练出满意的模型,训练以及推理所产生的文件,可以直接在左侧目录结构中看到-9中的内容。

·          模型文件目录里面包含了训练过程中所产生的训练模型mnist.h5以及训练过程中的事件日志(该日志可以使用tensorboard进行可视化展示),另外还有推理脚本所产生的推理模型文件saved_model

 

图-9 模型文件目录

http://10.121.44.6:34000/assets/fashionmnist-16.png

 

TensorBoard可视化

对于Tensorflow建模训练,会产生训练日志,我们可以使用平台提供的TensorBoard特性,来创建一个可视化实例,查看当前训练的效果。

  1. [人工智能平台/建模服务/Tensorboard]页面,单击<创建>按钮,并填入相关信息。如-10所示。

图-10 创建TensorBoard

 

部分参数说明如下:

  1. 单击<确定>按钮,平台会动态创建一个可视化实例。如-11所示。

图-11 TensorBoard运行中

 

  1. 待实例状态为“运行中”时,单击<打开>连接,即可以看到上面训练的可视化信息。如-12所示。

图-12 TensorBoard环境界面

 

保存模型仓库

开发和训练是平台最最核心的功能特性,而模型库以及模型部署可以算是整个AI建模的最后一程,因为模型已经产生,剩下的只需要将其部署起来,供外部使用即可。模型部署之前,首先需要将模型保存到模型库中。

  1. [人工智能平台/建模服务/模型仓库]页面,单击页面中的<新增模型>按钮,在弹出窗口中,输入模型名称和描述,单击<确定>按钮,完成新增模型。

图-13 新增模型

 

  1. 单击上一步新建的模型后的<详情>按钮,进入模型详情页面。可以看到模型的基本信息和版本信息。一个模型可以有多个版本。

图-14 模型详情

 

  1. 单击页面中的<导入>按钮,在弹出界面中填入相关表单信息。

图-15 导入模型

 

关键字段的说明如下:

 

这里重点解释一下Tensorflow的推理模型文件格式,Tensorflow的默认推理模型为pb文件。人工智能平台中目前是使用nvidia官方的TensorRT通用推理镜像进行部署的,它对Tensorflow模型文件以及目录的要求如-16所示,即模型根目录下是一个表示版本的数字(默认是1),该数字目录下是一个名为model.savedmodel的文件夹,该文件夹下才是Tensorflow默认的pb模型相关文件。

 

图-16 tensorflow模型文件以及目录

http://10.121.44.6:34000/assets/fashionmnist-25.png

 

  1. 表单填写完毕之后,单击<立即导入>按钮,即可将模型导入到平台的模型库中。因为模型文件有时会比较大,所以导入需要一点时间。模型导入之后,可以在列表界面看到我们刚刚导入的fashion-mnist模型。

图-17 模型版本列表

 

  1. 单击<详情>按钮可以看到对应模型版本的详细信息,因为是快速上手示例,我们并没有对模型参数做配置。

图-18 模型版本详情

 

创建推理服务

如果说开发训练是AI算法工程师的日常工作,那么模型部署推理才是真正让模型具有商业价值的一步,模型只有变成真正的服务,供外部调用,模型才具有实际价值。

人工智能平台作为一个AI计算平台,为用户提供AI建模全生命周期管理,推理服务就是该生命周期中的最后一个环节。下面我们演示如何将刚才保存的模型部署成在线服务,供外部调用。

  1. [人工智能平台/建模服务/推理服务]页面,单击<创建服务>按钮,输入服务名称和描述,单击<确定>按钮,创建服务。

图-19 创建服务

 

图-20 服务列表创建成功

 

  1. 单击<详情>按钮,进入推理服务详情页面,推理服务详情页面包含基本信息,服务信息、参数信息、监控信息、调用统计四个切换页。其中:

图-21 推理服务详情

 

  1. 单击<添加配置>按钮,弹出添加服务配置页面,填写模型名称和版本。流量比例等参数,单击<保存>按钮即可完成服务的添加。添加服务版本表单页面参数说明:

图-22 推理服务-添加服务配置

 

  1. 再次进入AI推理列表页面,会发现该推理服务正在启动中,需要耐心等待一段时间,等“状态”变成“运行中”,表示该推理服务部署成功。

图-23 服务运行中

 

  1. 运行成功后,可以单击<返回>按钮,回到推理服务列表,单击对应服务后面的<测试>按钮,进行推理服务的测试页面。输入请求报文,单击<测试>按钮,即可对该服务进行在线测试。

图-24 推理服务在线测试

 

测试中的请求报文,就是该模型需要的输入参数,它是一个(28281)的向量。该参数可以从示例文件中的“modelserving.txt”中拿到。用户也可以自己生成这个参数,具体可以在jupyterlab中运行test.ipynb文件,该文件中有一个简单的示例,可以将图片转换成推理服务所需要的向量数据,具体使用需要用户有一定的AI以及python编程基础。该脚本就是读取一张28*28的灰度图片,将其转换成一个28*28的数组。再拼装成推理服务需要的请求报文即可。

图-25 获取请求报文

http://10.121.44.6:34000/assets/fashionmnist-34.png

 

快速创建

用户可以通过“立即创建”的功能,来快速创建fashion-mnist的示例。需要注意的是,通过“立即创建”得到的是一个AI建模的工作流,而非开发环境。

  1. 选择[人工智能平台],进入人工智能平台页面。

  1. [人工智能平台]左侧导航栏中选择[样例库管理/样例库]菜单项,进入样例库页面。

  1. 单击fashion-mnist样例右侧的<立即创建>按钮,选择任务流所在工程,输入任务流名称,单击<确定>按钮,保存任务流。页面会自动跳转到该工程的页面。

  1. 单击上一步创建的任务流,进入任务流页面。各个组件已经创建,且参数已经配置。用户也可以根据自己的需要,调整参数。

  1. 单击页面上方的<启动>按钮,启动任务流即可。