运行任务

快速入门

 russell run  [OPTIONS] [COMMAND]

[OPTIONS] 运行参数主要包括以下选择:

[command]为启动命令,任务运行时首先执行该命令,仅在 cli 模式下有效,jupyter等其他模式不接受该参数;



概念详解

运行任务是 RussellCloud 整个工作流中最核心的一步。任务提交后首先会更新项目代码,然后排入队列等待执行,当有可用计算资源时才会开始正式执行,执行时任务会把代码和数据集挂载到一起(具体挂载路径见下),放置在对应的深度学习框架环境下并配备指定的计算资源,然后执行启动命令或启动 jupyter 帮助用户完成训练任务。

整个流程的具体实现都取决于run时的运行参数,因此你的任务能否被正确顺利执行也完全取决于此。

[OPTIONS]

机器类型 --gpu or `--cpu

你可以通过这个参数选择具体任务执行时的机器配置。目前提供两种选择:

russell run 参数 机器类型 备注
--gpu GPU GPU服务器
--cpu CPU CPU服务器

具体机器配置参数参见价格页.

- 默认机器类型是 `--cpu`,也就是说如果你不加这个参数的话,你的任务就是运行在一台CPU服务器上;
- 如果你在run的时候添加了多个机器配置参数且同时包含了GPU、CPU,则以GPU参数为准。

数据集 --data

目前 RussellCloud 中单个任务支持最多挂载 5 个数据集。run时每个--data后面对应一个数据集

--data <id_of_datasource>:<mount_name_on_server>

关于数据集挂载的更多内容,可以参考 挂载数据集


任务模式 --mode

RussellCloud 目前支持以下三种任务模式:

  1. --mode cli (默认)
  2. --mode jupyter
  3. --mode serve (测试中)

下面是各个模式的介绍:

--mode cli

cli 是默认模式,所以在 run 的时候 不需要 显式指定,用更通俗的方式来表达,这其实就是命令模式

当你通过这个模式启动一个任务时,当前目录的代码将会被上传,然后系统将会在实验环境下部署环境并将上传的代码放在/workspace目录下,接着在该目录执行启动命令。

--mode jupyter

这个模式可以帮助你创建一个 jupyter notebook 环境,当你使用jupyter模式启动一个任务时,你当前目录的代码将会被上传到云端,然后系统将在/workspace目录下创建一个jupyter notebook,并将访问链接返回给客户端。一般来说创建成功后客户端将会自行帮助你在浏览器打开notebook.

如果项目代码中包含 .ipynb 文件,在项目详情页-预览栏可以直接查看内容:

jupyter 能用来做什么

  • 可用于创建一个交互式的开发网页,帮助你逐步调试模型算法;
  • 还可以用来连接任务环境的 terminal ,通过 terminal 你可以更自由地进行更多操作。

--mode serve

本模式正在测试中,暂不介绍


环境 --env

你可以通过这个参数指定具体的深度学习框架环境,目前可选的环境可以前往 环境配置 查看详细。注意对于不同 机器配置 来说,环境参数是没有区别的。

举几个例子

$ floyd run --env tensorflow-1.3 "python train.py"

$ floyd run --env theano-0.8 "python train.py"

$ floyd run --env pytorch-0.2 "python train.py"

备注 -m

通过 -m 参数你可以给对应版本(如果有新增版本的话)以及对应任务添加备注,启动后你可以在任务列表及版本列表看到备注信息,当你查看历史任务时,备注可以帮助你更好的区分各个任务。

Example:

$ russell run -m "reduce epoll to 100" "python train.py --epoch 100"
Creating project run. Total upload size: 66.2KiB
Syncing code ...
RUN ID                            NAME                                      VERSION
--------------------------------  --------------------------------------  ---------
ee13c7e306924ad3bc0d4af7428eb464  RussellCloud/train_passenger_predict:9          9

To view logs enter:
   russell logs ee13c7e306924ad3bc0d4af7428eb464

Tensorboard(beta)

通过 --tensorboard 命令,你可以为 tensorflow 任务创建 Tensorboard,目前只支持 tensorflow 1.4+ 环境。


[COMMAND]

你应该在 [COMMAND] 位置写上启动命令。这条启动命令将在任务启动时在远程环境中执行,运行目录是 /workspace, 即代码所在目录,为了确保这条命令运行正常 ,你可以先在本地代码目录首先执行这条命令试试看能否运行成功。

另外,系统环境为ubuntu系统,因此请使用ubuntu的命令体系,比如apt-get install.

你可以在项目目录下先试试这些例子:

$ russell run "pwd"
$ russell run "ls"
$ russell run "python -v"
$ russell run "echo 'Hello, Russell!'"

如果你需要在启动命令中运行多条命令,这里有两种做法:

  • 使用 && 连接两条命令;
$ russell run "bash my_setup_script.sh && python train.py"
  • 在当前项目路径下创建一个 start_script.sh 并在其中编辑启动命令(注意不要命名为run.sh,避免和系统文件冲突)。
$ russell run "sh start_script.sh"

敲黑板:只有默认模式才接受启动命令~


帮助我们完善文档

本文档同步公开在 GitHub 上。团队在尽力完善文档,但错误难免存在,或许有些功能迭代也未能及时更新在文档上。若你有什么新的想法或体验,欢迎提交 Pull Request 为我们提供支持。

除此之外,你还可以通过 issue 直接提交问题。

Copyright © russellcloud.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2018-06-14 01:49:18

results matching ""

    No results matching ""