《智能系统与技术丛书 生成对抗网络入门指南》—2.4.2Floyd使用入门
2.4.2 Floyd使用入门
Floyd的基本使用非常简单,在注册账号之后就可以免费使用了,如果用量不大的话其实无须付费。
在完成网页上的登录后,我们需要在自己的笔记本电脑终端下载Floyd的命令行工具floyd-cli。
$ pip install -U floyd-cli
通过该命令行工具进行终端内部的登录,输入下列命令后按照提示输入用户名与密码即可。
$ floyd login -u <username>
一切准备就绪后,需要在Floyd的网页端新建一个项目。点击网站右上角的加号,添加项目,然后按照图2-16所示进行创建。具体的项目信息可以按照个人情况进行设置,免费账号目前仅可开启公开项目。
图2-16 Floyd:网页创建新项目
点击创建后,就完成了Floyd平台上的项目创建,此时需要将其与你本地的项目相互绑定。如果手头上暂时没有项目,可以按照下面的命令下载FloydHub提供的测试项目。
$ git clone https://github.com/floydhub/quick-start-pytorch.git
$ cd quick-start-pytorch
然后在项目中进行Floyd的初始化,注意填写的项目名必须与之前平台上创建的项目名保持一致。此外,如果项目添加了其他第三方库,记得新建一个floyd_requirements.txt文件并将它们写入。
$ floyd init <project_name>
项目完成后,可以直接通过Floyd工具运行代码,具体的命令行参数可以查阅Floyd官网来进行配置。下面的命令行是指在GPU环境下指定版本为1.3的TensorFlow来运行“python train.py”这段命令,此外该命令还开启了TensorBoard服务。在执行命令后,Floyd工具会将本地代码上传至云端,在GPU服务器上进行项目的运行。
$ floyd run --gpu --env tensorflow-1.3 --tensorboard "python train.py"
在任务执行过程中,用户可以使用状态命令来查看实时运行状态。
$ floyd status
JOB NAME CREATED STATUS DURATION(s) INSTANCE DESCRIPTION
------------------- --------- -------- ----------- --------- -----------
alice/quick-start:1 just now running 15 gpu
或者也可以直接到网站的项目状态页进行查询,如图2-17所示。
图2-17 Floyd:项目状态查询
如果希望能够在终端实时查阅任务的日志信息,可以使用下面的日志命令。
$ floyd logs -t
...
2017-07-12 16:00:07,446 INFO - Starting attempt 1 at 2017-07-12 16:00:07.436349
2017-07-12 16:00:09,088 INFO - Starting container...
2017-07-12 16:00:09,297 INFO -
...
2017-07-12 16:00:09,297 INFO - Run Output:
2017-07-12 16:01:46,154 INFO - Successfully downloaded train-images-idx3-ubyte.gz
9912422 bytes.
2017-07-12 16:01:46,158 INFO - Iter 1280, Minibatch Loss= 39855.289062, Training
Accuracy= 0.17969
2017-07-12 16:01:46,159 INFO - Iter 2560, Minibatch Loss= 14964.132812, Training
Accuracy= 0.42969
...
在科研过程中,可交互的开发模式一直受到广大研发人员的喜爱,他们可以即刻得到代码的反馈并及时进行修正,我们也可在Floyd上使用可交互的Jupyter Notebook,仅需在之前的项目终端中运行如下命令行即可。
$ floyd run --gpu --mode jupyter
当项目中涉及的数据量非常大的时候,比如大规模的图库等,就需要先将数据集上传到Floyd平台上。首先在Floyd网站上创建数据集,如图2-18所示。
图2-18 Floyd:网页端创建数据集
从终端进入本地的数据集目录中,进行数据集初始化,并执行上传命令。
$ floyd data init <dataset_name>
Dataset "<dataset_name>" initialized in current directory
...
$ floyd data upload
Compressing data...
- 点赞
- 收藏
- 关注作者
评论(0)