PAI客户
paicli的Python项目详细描述
paicli
一个用于OpenPAI的cli工具,它支持列出作业、提交新作业、挂起正在运行的作业以及在正在运行的容器中执行ssh等基本操作。
如何安装
可以从PyPI安装paicli。
$ pip install paicli
激励示例
可以利用和组合paicli子命令来实现多个实际操作。
一。ssh到正在运行的容器
当您想要ssh到一个正在运行的容器中时,只需键入pai ssh
:
$ pai ssh
然后,可以从正在运行的作业列表中选择容器。 不需要下载密钥并显式指定主机。 您还可以将正在运行的作业的作业名称作为参数:
$ pai ssh example_job_001
2.一行提交多个作业
我们可以使用pai submit
和一些模板引擎,比如envsubst。
$ head template.json -n 2{"jobName": "example_job_${JOBID}" $ for i in `seq 13`;do cat example.json |JOBID=$i envsubst | pai submit;done
三。停止一行
的多个作业一个人可以结合pai jobs
和pai stop
。
$ pai jobs -u sotetsuk -s RUNNING | grep example_job | awk '{print $1}'| xargs pai stop
四。ssh到多个正在运行的容器中并运行相同的命令
我们可以把pai jobs
和pai ssh
结合起来。在本例中,它用一行显示多个作业中的python进程。
$ pai jobs -u sotetsuk -s RUNNING | grep example_job | awk '{print $1}'| xargs -n 1 pai ssh -c "ps -aux | grep python"
5个。在运行的作业中显示所有tensorboard url
可以组合pai jobs
和pai host
来显示所有的tensorboard url。可以使用一些浏览器扩展来打开所有url(例如OpenList)
$ pai jobs -u sotetsuk -s RUNNING | grep example_job | xargs -n 1 pai host | grep tensorboard | awk '{printf "http://%s:%s\n",$2,$4}' http://10.0.0.1:9999 http://10.0.0.2:9999 http://10.0.0.3:9999
基本用法
对于更详细的用法,可以为每个子命令(如pai config --help
)使用--help
选项。
$ pai --help
Usage: pai [OPTIONS] COMMAND [ARGS]...
A CLI tool for OpenPAI.
Options:
--help Show this message and exit.
Commands:
config Write your configuration to a file.
host Show host information of the specified job.
jobs Show job list.
ssh SSH into a running container.
stop Stop a running job.
submit Submit your job.
token Generate a new access token
配置
在使用paicli子命令之前,必须初始化关于pai环境的配置。
- config file:要初始化配置文件,请运行
pai config
。然后您的配置文件将位于$HOME/.paicli
。您应该设置host
、port
和username
。您可以使用--profile
选项来使用多个pai环境。 - access token:在提交/停止作业之前,应通过执行
pai token
并输入密码来颁发访问令牌。如果将密码直接写入配置文件(不推荐),则每次都可以跳过输入密码。
作者
小山田索特苏