Floydhub 是一个专门为深度学习而设计的云平台,上面有预装了 PyTorch、TensorFlow 的 CPU、GPU 版本的环境。用户注册即可免费使用,限制是每个任务从部署开始最多持续 1 小时。
20170825:根据 Floydhub 最新的收费标准,目前已经没有免费 GPU 可用了…
如果你觉得在 Windows 上装各种软件很麻烦(甚至没有 Windows 版本的软件,如 PyTorch),但暂时又不想/无法切换到类 Unix 的环境下,请看本篇,学习如何在 Windows 下使用 floydhub 助力深度学习。
准备:你可能需要准备好自己的代理服务器
01 项目文件夹存放位置
我们新建个文件夹作为所有项目的存放地,比如 D:\Download\deeplearning
,然后把项目拷贝到那里面。
比如我们把名为 DL+meets+PyTorch 的项目文件夹拷贝到这里。于是,项目文件夹的位置就是 D:\Download\deeplearning\DL+meets+PyTorch
02 切换到项目文件夹下
开启 Windows cmd 中,用
cd /d D:\Download\deeplearning\DL+meets+PyTorch
移动到该处
注意:不必输入所有路径,只要输入一部分,按 tab,即可补全路径
02.tip
由于下载的文件夹包含了一个 __MACOSX 文件夹,这玩意儿对于 floydhub 没啥用,我们可以删掉它,或者再进入里面的一层 DL meets PyTorch
cd DL meets PyTorch
03 在云端新建对应于该项目的项目仓库
到 https://www.floydhub.com/projects 中点击 New Project,在 Project Name 中输入 dl-meets-torch-01,然后点击 Create Project
04 命令行登录 floyd
执行
floyd login
若出现提示
Cannot connect to the Floyd server. Check your internet connection.
说明网络出问题了,可能是你懂的原因。我们需要使用代理。
首先设置好代理地址。通常格式为:协议名://代理基本地址:端口号
,例如 http://111.222.333.444:5555
下面假设代理地址是
http://111.222.333.444:5555
,实际使用时请换上自己的代理地址
然后再 cmd 中挂上代理。
在 cmd 中执行
netsh winhttp set proxy proxy-server="http=http://111.222.333.444:5555;https=http://111.222.333.444:5555"
然后执行
floyd login
成功连接后会出现
Authentication token page will now open in your browser. Continue? [Y/n]:
输入 y,弹出 https://www.floydhub.com/settings/security
点击 COPY TO CLIPBOARD 复制 CLI authentication token 对应的字符串到剪贴板
注意到此时 cmd 提示:
Please copy and paste the authentication token.
This is an invisible field. Paste token and press ENTER:
这时候不管你输入什么,都不会看到密码(哪怕是 * 都不会显示)。不用管,复制好 token 后,切换到 cmd,在 cmd 中任意“空白”(其实是“黑色背景”)处单击右键,选择“粘贴”,然后回车。
若成功,则显示
Login Successful
05 本地初始化
移动到项目文件夹中(注意!你的项目是哪个就移动到哪个文件夹中,别在任意位置初始化,否则试图上传太多东西上去会失败的。)
用 cd 命令移动到项目文件夹中:例如,你要保证命令提示符前是
D:\Download\deeplearning\DL+meets+PyTorch\DL meets PyTorch>
然后复制 Initialize project locally 中的命令到命令行中并执行:
floyd init dl-meets-torch-01
静候数秒,等待下述提示出现,回到命令提示符:
Project "dl-meets-torch-01" initialized in current directory
06 运行环境
执行命令
floyd run --mode jupyter --gpu --env pytorch
然后等待文件上传完毕。注意,如果文件太多,你可能需要删除一些文件,或者再 floyd init 所在位置新建一个 .floydignore 文件,写入那些虽然在这个目录下,但你不打算上传的文件。
07 终结
免费用户一次最多连续运行 1 小时,因此如果需要训练超过 1 小时,记得保存模型。
然后,要停止时,注意刚才上传代码时的提示
JOB NAME
-----------------------------------
username/projects/dl-meets-torch-01/1
要停止任务,只要在 cmd 中输入
floyd stop username/projects/dl-meets-torch-01/1
即可
需要登出,请在命令行中执行
floyd logout
其余更多命令请查看文档。
若要使用 PyTorch(Python 3)以外的环境,请查看这里。