只需5分钟,教你完成华为云TensorFlow环境搭建

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

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

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

传统搭建方式

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

华为云容器部署

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

方法如下:

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

账号注册

进入华为云官网首页https://www.huaweicloud.com,点击右上角的【注册】按钮:

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

实名认证

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

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

在【云容器引擎】-【体验中心】-【初级案例】模块找到购买集群,单击【体验】按钮根据界面引导进行免费集群和节点的创建。页面链接:https://console.huaweicloud.com/cce2.0/?region=cn-north-1&locale=zh-cn#/app/guidance/list

资源创建完后,到【云容器引擎】-【资源管理】-【节点管理】找到容器节点弹性ip后记录下来,在第三步部署Tensorflow应用时会用到。页面链接:https://console.huaweicloud.com/cce2.0/?locale=zh-cn&region=cn-north-1#/app/resource/node/list

C:\Users\j00183313\AppData\Roaming\eSpace_Desktop\UserData\j00183313\imagefiles\FB8D82B7-21AB-4CBF-8DC5-22E0199C2ACA.png

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

在【应用编排服务】-【模板市场】-【公共模板】找到Tensorflow示例模板,单击【创建堆栈】按钮开始部署。(页面链接:https://console.huaweicloud.com/aos/?region=cn-north-1&locale=zh-cn#/app/demoTemplate/demoDetail?id=62e89c6c-7910-8e1a-626d-50b35faccc6b

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

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

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

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

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

[[250306]]

小狗检测示例

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

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

[[250307]]

新建python的开发页面

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

from keras.applications import ResNet50

from keras.preprocessing.image import img_to_array, load_img

from keras.applications import imagenet_utils

from keras.applications.resnet50 import preprocess_input, decode_predictions

import numpy as np

import io

import tensorflow as tf

def prepare_image(img_path, target):

img = load_img(img_path, target_size=(224, 224))

if img.mode != "RGB":

img = img.convert("RGB")

x = img_to_array(img)

x = np.expand_dims(x, axis=0)

x = preprocess_input(x)

return x

model = ResNet50(weights="imagenet")

graph = tf.get_default_graph()

image = prepare_image("dog.jpg", target=(224, 224))

with graph.as_default():

preds = model.predict(image)

results = imagenet_utils.decode_predictions(preds)

data = []

for (imagenetID, label, prob) in results[0]:

print("Category: ", label, "Probability: ", float(prob))

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

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

 

责任编辑:张燕妮 来源: 51CTO
相关推荐

2018-11-14 12:45:12

华为

2021-03-05 14:52:32

深度学习人工智能工具

2017-10-11 15:17:42

sklearn机器学习pandas

2017-09-25 15:14:51

2014-11-10 12:29:52

客服网站

2019-08-29 11:10:07

PythonVimLinux

2020-01-22 16:40:48

Java开发代码

2021-02-03 11:20:41

Docker架构容器

2019-07-24 15:29:55

JavaScript开发 技巧

2019-07-28 20:24:30

PyTorch深度学习代码

2012-06-28 10:26:51

Silverlight

2021-08-01 21:38:07

网页点灯网关

2011-09-19 13:41:54

2018-03-01 10:58:55

Antsle部署虚拟机

2015-05-29 15:00:48

白鹭

2009-11-17 12:47:05

PHP配置

2009-07-09 17:43:30

Chrome OS截图Chrome操作系统截Chrome

2018-08-30 14:31:28

Linux磁盘LVM

2010-12-10 17:23:56

IBMIaaS

2021-04-30 16:23:58

WebRTC实时音频
点赞
收藏

51CTO技术栈公众号