随着全球科技变革的推进,人工智能成为各大公司的研究热点和战略重心。TensorFlow是谷歌推出的开源机器学习框架,自开源以来便受到极大关注,是GitHub社区上最受欢迎的机器学习、深度学习项目之一。目前,TensorFlow可以在多个云平台上部署运行,但仍存在软件的依赖与管理问题,而利用Docker技术具有的快速部署与可移植等优势,可以实现TensorFlow的虚拟化异构,解决TensorFlow环境依赖的问题,并为科研人员及工程师提供便捷的开发环境,具有现实的应用意义。

本文将介绍一种快速搭建TensorFlow开发环境的方法,通过华为云上的容器服务一键式部署,5分钟完成免费的云上TensorFlow环境的搭建。

传统搭建方式

传统深度学习开发环境搭建在虚机或物理机上,需要事先准备好一台可访问外网的虚拟机或物理机,然后配置yum源,下载安装一系列的系统库,然后通过pip安装常用的机器学习、深度学习相关python库。如果你使用的GPU模式的TensorFlow,还需要手动安装指定版本英伟达显卡驱动,CUDA计算库。整个安装过程非常繁琐,你会碰到各种奇怪的问题,很多基本用法在不同版本之间都是不同的,而且有时并不是安装一个库的问题,同时涉及与系统库的交互,对于没有具备linux相关知识的人将是个极大挑战性的任务。

华为云容器部署

容器化部署就非常简单,不仅功能和传统方式的一样,同时由于镜像使用的是官网镜像,只需要关注TensorFlow的版本即可,无需担心依赖库版本匹配问题。

方法如下:

第一步:注册华为云账号并实名认证(如已有华为云实名认证账号可直接进行下一步)

账号注册

进入华为云官网首页,点击右上角的【注册】按钮:

设置账号名、密码、手机号、短信验证码并勾选“我已阅读并同意《华为云用户协议》和《隐私政策声明》”,单击【同意协议并注册】即可完成注册。

实名认证

用户注册完华为云账号后需要进行实名认证才能使用相关服务,实名认证流程也非常简单,在用户中心可以看到实名认证的提示信息,根据页面引导选择用户类型和认证类型进行认证即可。

第二步:开通3天免费容器集群

在【云容器引擎】-【体验中心】-【初级案例】模块找到购买集群,单击【体验】按钮根据界面引导进行免费集群和节点的创建。

资源创建完后,到【云容器引擎】-【资源管理】-【节点管理】找到容器节点弹性ip后记录下来,在第三步部署Tensorflow应用时会用到。

第三步:Tensorflow环境一键式部署

在【应用编排服务】-【模板市场】-【公共模板】找到Tensorflow示例模板,单击【创建堆栈】按钮开始部署。

通过这个模板,就可以一键式的完成一个TensorFlow开发环境的部署,并可以通过Jupyter Notebook的界面进行深度学习程序的开发和验证。)

填写部署参数,堆栈名称、弹性IP(第二步中记录的弹性IP) 、填写Jupyter notebook的登陆密码

一键式部署示例模板,5分钟内创建成功。

进入堆栈详情,在输出参数中有开发环境的访问地址,点击链接即可:

输入创建堆栈时填写的登陆密码即可访问Jupyter notebook进行开发:

小狗检测示例

我们可以在刚创建好的开发环境跑个简单的人工智能小程序:检测上传的小狗图片,识别小狗种类。

先在Jupyter notebook上传一张小狗图片“dog.jpg”。

新建python的开发页面

将下面这段小程序的代码粘贴到python页面,按住shift+回车键执行。

查看执行结果。执行过程耗时大概20秒左右。识别结果置信度最高为玩具贵宾犬66.78%,第二名是迷你贵宾犬29.71%,检测结果正确。

这就是一个基于华为云容器部署的Tensorflow开发环境,以及一个简单的开发示例,如果开发的程序需要进行大规模的训练,建议使用GPU集群资源,它能够更高效地执行图像的计算。另外,若开发过程发现我们的镜像提供的计算库不够丰富,可以在Jupyter Notebook页面执行shell命令,安装python库。如果还想订制个人化的开发环境,可以手动构建镜像上传至华为镜像仓库,然后修改模板元素及参数,生成适合个人场景的模板。