码迷,mamicode.com
首页 > 其他好文 > 详细

使用Floyd进行GPU深度学习训练

时间:2017-10-10 16:53:54      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:用户   指定   cli   div   比较   pip   登陆   支持   初学   

如果你曾经做过做过深度学习的模型,并试图将他在本机上训练一下,因为你觉得你的笔记本性能还可以,于是你开始train你的模型,首先你看到loss下降很慢,每个batch需要花费8.4秒左右的样子:

技术分享

然后你的CPU开始狂转,风扇全功率运行,风声大作,坚持了几分钟实在受不了了,你果断的关闭了进程,不仅仅是速度比较慢,你可能也和我一样,真怕电脑给烧掉了,然后,整个世界,清静了:)

技术分享

其实深度学习最好,最经济的训练方式就是在云端,找个GPU的机器,安装搭建环境进行训练,这也是我之前做项目和使用的方式,但对于深度学习的研究者,开发者来说,不太希望花费太多的时间在驱动安装,环境配置,包依赖处理这些琐碎的方面,如果有一两条命令就可以在云端开始训练,那就可以将大部分精力放在模型本身的调整上。

最近尝试了一下FloydHub,这是一个由Heroku提供的Deep Learning的PAAS平台,可以让你使用简单的命令就在本机提交训练任务,支持Caffe,Tensoflow,Torch等等,CNTK支持还在开发中,可以让你提交Jupyter,也可以直接提交python脚本,主页和介绍如下:

https://www.floydhub.com/

技术分享

对于新用户,有免费的2个小时的GPU训练时间,当然后续你可以购买其他计划。下面的部分给大家快速介绍与喜爱如何使用Floyd进行深度学习训练。

  1. 第一步当然是注册了,需要的信息非常简单,输入完成后点击"Sign up",然后进入主界面,需要你验证一下你的邮箱,验证完成后后就可以得到你的token:

技术分享技术分享

  1. 然后需要在你的本机,或者开发及安装Floyd命令行工具,该工具依赖于Python,假定你已经安装好了Python,推荐使用Anconda分发版,在本机安装floyd-cli,使用pip命令安装即可:

    $ pip install -U floyd-cli

    技术分享

     

  2. 使用命令行登陆Floyd,他会直接跳转到FloydHub的登录页面,让你登陆,其实就是获取CLI的认证token,拷贝token,并粘贴到命令行,完成登陆认证:

    $ floyd login

    技术分享

     

    技术分享

     

  3. 进入到FloydHub的页面,在你开始训练你的项目之前,你首先需要创建一个项目,我在次创建的项目是RNN的项目myrnnproj:

    技术分享

  4. 进入到你的项目目录,初始化你的项目:

$ floyd init myrnnproj

技术分享

 

  1. 在项目初始化完毕的时候,那么我们就可以在远端的平台上train这个项目了,floyd支持多个不同的深度学习框架,多个版本,另外也支持CPUGPU,在本例中我使用Tensorflow,而且最新版本1.3训练,指定参数如下并运行:

     

$floyd run --mode jupyter --gpu --env tensorflow-1.3

 

技术分享

可以看到Floyd会自动上传你本地的Jupyter代码,自动初始化环境,然后分配给你一个URL,你就可以访问你的notebook了,需要注意的是,从这个时候开始,只要你的notebook开着,Floyd就会计费,你也可以到web页面上查看当前运行的job和job

技术分享

  1. 按照Floyd提供的URL,打开我的Jupyter notebook,运行我的training,每个batch大约只需要0.3秒,比我本机快将近30倍:

技术分享

 

技术分享

8 . 从整个过程来看,使用Floyd进行深度学习训练不需要自己准备和搭建环境,还是非常方便的,而且也提供了很多例子,共初学者快速的上手,比如下面这个风格迁移的例子,大家可以自己尝试:

技术分享

使用Floyd进行GPU深度学习训练

标签:用户   指定   cli   div   比较   pip   登陆   支持   初学   

原文地址:http://www.cnblogs.com/cloudapps/p/7645556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!