财新传媒
位置:博客 > 集智俱乐部 > 你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

集智AI学园原创

作者:集智小仙女

编辑:Swarma Hannah

导读

本文是文章《吐血推荐:超级好用的深度学习云平台Floyd|集智AI学园 》的下篇。我们在上篇文章中已经基本介绍了Floyd,并详细讲解了在Floyd平台上运行Jupyter Notebook计算实例的方法。虽然Notebook很方便,但是我们仍有很多的模型代码是脱离Jupyter Notebook进行训练的,有时候还需要在线验证模型的训练效果。这时候我们应该怎么操作?本篇文章就以实例操作的方式,为你讲解在Floyd上使用命令行训练一个模型的方法,以及如何在线验证训练的模型。

实验:使用Floyd训练一个图片风格转换模型

本次我们实验用的是Floyd官方提供的示例项目: Fast Style Transfer, 官方原址:

http://docs.floydhub.com/guides/style_transfer/

首先将项目clone下来,并进入目录,初始化项目:

1、初始化项目

$ git clone https://github.com/floydhub/fast-style-transfer

$ cd fast-style-transfer

我们在【上篇】中已经介绍过如何登陆Floyd,所以现在直接初始化项目:

$ floyd init fast-style-transfer

Project "fast-style-transfer" initialized in current directory

下面我们就要开始训练模型了。在这之前,我们先谈谈训练数据集的问题。

在将要训练的模型中,我们会用到预训练的模型“imagenet-vgg-verydeep-19“以及训练图片数据集。这个数据集Floyd已经为我们准备好了,我们只需要在开始训练时指出训练用的数据集ID即可。

本例需要的数据ID为:jq4ZXUCSVer4t65rWeyieG,我们也可以使用以下命令,先看看这个数据的内容。

$ floyd data output jq4ZXUCSVer4t65rWeyieG

运行这条命令后会自动打开浏览器,展示这个数据的内容:

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

2、训练模型

好,现在让我们执行命令,训练模型:

$ floyd run --gpu --env tensorflow-0.12:py2 --data jq4ZXUCSVer4t65rWeyieG "python style.py --style examples/style/la_muse.jpg --base-model-path /input/pre-trained-tf/la_muse.ckpt --epoch 1 --total-iterations 10 --checkpoint-dir /output"

其中:

--gpu 代表使用GPU计算

--env tensorflow-0.12:py2

代表使用Python2.0版本的Tensorflow0.12

--data 代表我们使用这个ID代表的数据

注意数据包含的所有文件都会挂载在云服务器的“/input“文件夹下

所以在程序中需要指定数据的根目录为“/input”

“python....” 就是我们要执行的命令,

注意其中的“/input/pre-trained-tf/la_muse.ckpt”

指定的就是“通过数据ID挂载的数据。

执行命令后,在终端中会提示:

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

注意上面的“RUN ID”,这个很重要,我们以后对这个运行实例进行的各种操作,都需要通过这个ID来完成。

实例运行后,我们可以通过命令:

$ floyd logs <RUN_ID>

来查看模型训练的日志及进度。

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

模型训练结束,我们可以看到这个训练实例运行了246秒,状态为success,这就代表本实例执行成功结束,不再计费了。 有时候我们同时运行了多个实例,想查看每个实例的状态,就可以用下面的命令:

$ floyd status

这样会打印出所有实例的“RUN ID”以及运行状态。

如果在实例运行过程中,我们想停止它,可以执行下面的命令:

$ floyd stop <RUN_ID>

我们可以单独查看某个计算实例的详细信息,比如对于上面的项目,使用命令:

$ floyd info <RUN_ID>

我的输出为,注意其中的“Output ID”:

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

3、验证模型

我们可以通过命令来查看“Output ID”数据中包含的文件:

$ floyd data output Pro97DTLbTJbC52ay7BQWk

命令执行后浏览器自动打开,显示云服务器数据目录:

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

以上的.ckpt就是训练好的模型文件,在下一步中,我们将使用这个模型转换一张图片。

下面我们将使用刚刚训练的模型,来转换一张图片的风格。

$ floyd run --env tensorflow-0.12:py2 --data Pro97DTLbTJbC52ay7BQWk "python evaluate.py --allow-different-dimensions --checkpoint /input/fns.ckpt --in-path ./images/ --out-path /output/"

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

实例仅需要28秒就运行完毕了。此时我们可以第5步那样,使用下面两条命令来查看输出:

$ floyd info <RUN ID>

$ floyd data output <OUTPUT ID>

也可以直接使用一条命令来查看输出:

$ floy output <RUN ID>

执行命令后会自动打开浏览器,并显示云服务器目录。经过转换的图片是这样的:

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

到这里使用Floyd训练常规深度学习模型的实验就结束了。

最后我们除了使用命令 floyd status 查看本次实例的运行信息。

也可以在Floyd网站上的DashBoard上看到实例的详细信息。

Floyd常用命令速查表

登陆: floyd login

初始化目录: floyd init

查看数据集:floyd data output

运行实例: floyd run --gpu

查看实例日志: floyd logs

查看所有实例: floyd status

手动停止实例: floyd stop

查看实例运行结果信息: floyd info

查看输出数据: floyd data output

查看输出数据: floyd output

所有命令,请参考:

http://docs.floydhub.com/commands/

所有环境,请参考:

http://docs.floydhub.com/home/environments/

常用公共数据集,请参考:

http://docs.floydhub.com/guides/datasets/

上传和下载数据集的官方指导,请参考:

http://docs.floydhub.com/home/using_datasets/

最后多说一点

笔者最近在使用Floyd时,需要用到SVHN的数据集,发现Floyd并没有提供此数据集的公用ID,遂抱着试试看的心情问了一下。结果得到回复,Floyd最近正在憋一个大招,等完成后可以让用户搜索所有可用的数据集!Floyd用户那么多,基本上你能想到的数据集,都能找得到,这下Floyd不仅解决了环境问题,从此数据集也不用操心啦!

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园


集智AI学园特推出重磅课程!

你的免费GPU计算平台-Floyd使用教程(下)|集智AI学园

香港理工大学的美女博士

手把手教你搭建一个聊天机器人!

最后三天,没报名的小伙伴们抓紧了!

限时免费|《聊天机器人的前世今生》——李嫣然

重磅课程:打造你自己的聊天机器人|李嫣然

可开发票

团购可享优惠

咨询详细课程内容

请添加集智AI学园园长微信cancyqian

推荐阅读

《深入浅出GAN-原理与应用》学习笔记|王晓宇

系列课程:从知识图谱到表征学习|集智AI学园

AI英雄们,我们邀你向病理诊断和智能投顾发起挑战!|人工智能创新创业大赛

朱瑞鹤:浅谈强化学习|集智AI学园

吐血推荐:超级好用的深度学习云平台Floyd|集智AI学园

人工智能社会学—未来的新兴学科?——AI视野(四)|张江

张江|揪着自己的头发离开地球——AI视野(一)

张江:从AI高考透视人工智能进展

关注集智AI学园公众号

获取更多更有趣的AI教程吧!

搜索微信公众号:swarmAI

集智AI学园QQ群:426390994

学园网站:campus.swarma.org

推荐 3