跳到主要内容

命令行工具 bayes 基本介绍

OpenBayes 提供了一个命令行工具 bayes 方便在命令行界面直接与 OpenBayes 服务之间进行交互。相比直接在 web 界面进行交互,命令行工具在「创建 Python 脚本」「上传数据集」等诸多方面会更加简单和高效。

安装

安装 bayes 命令行工具 中详细的介绍了如何在不同平台下安装命令行工具。如果是通过 GitHub 下载的命令行工具,建议将其放到 /usr/local/bin 这种预先被添加到环境变量 PATH 的目录,一方便在任意目录键入 bayes 进行访问。针对 Windows 添加环境变量的操作可以参见 这里

$ bayes version

openbayes 的版本号为 v0.4.0

在命令行中键入 bayes version 后看到如上的信息说明 bayes 工具已经安装成功了,通过命令 bayes login 登录账号。

$ bayes login username

请输入 username 的密码:
username 已成功登入 openbayes

然后我们通过 bayes -h 可以查看具体能做什么操作:

$ bayes -h

OpenBayes 命令行工具

用法:
bayes [子命令]

可用子命令:
data 数据集相关
gear 容器相关
help 各个子命令的帮助信息
login 登录
logout 注销
ssh ssh 相关
status 登录信息
upgrade 升级命令行工具
version 版本信息

可用选项:
--version 查看 bayes 的版本信息
-h, --help 查看 bayes 的帮助
-v, --v 查看详细的错误信息

使用 "bayes [命令] --help" 获取更多有关此命令的信息。

快速开始

登录

$ bayes login username

请输入 username 的密码:
username 已成功登入 OpenBayes
若需使用 SSH,请重新调用 bayes ssh init 命令

按照提示,执行命令 bayes ssh init 增加 ssh 配置,方便通过 ssh 访问容器。更多信息见 通过 SSH 连接运行中的 Jupyter 执行

初始化容器

新建一个目录,并在该目录初始化一个新的容器:

$ mkdir new-bayes-test
$ cd new-bayes-test
$ bayes gear init new-bayes-test

容器初始化成功

罗列当前目录:

$ ls -a

. .. .openbayesgear .openbayesignore openbayes.yaml

可以看到生成了三个文件:

  • .openbayesgear 保存了当前容器的元信息,请勿删除。
  • .openbayesignore.gitignore 类似,用于在上传数据或者上传代码的时候忽略目录中不希望上传的内容,详细的文档可以参见 gitignore
  • openbayes.yaml openbayes 命令行的配置文档,详情见 OpenBayes 配置文件

创建一个 Python 脚本任务

创建一个简单的 main.py 文件:

$ cat <<EOF > main.py
import time

for i in range(100):
time.sleep(1)
print(i)

print('done')
EOF

执行命令:

$ bayes gear run task -f -- python main.py

正在向服务器发送上传请求...
服务器已响应
正在读取文件列表,请稍候...
剔除在 .openbayesignore 中忽略的文件及文件夹...
共有文件 2
正在压缩代码...
压缩代码完成
正在初始化上传中...
正在上传压缩包。总共上传大小: 2.06 KiB
2.06 KiB / 2.06 KiB [==========================================================] 100 % 11.37 KiB/s
正在进行清理工作
代码上传成功
正在向服务器请求创建容器...
容器创建成功
打开网页 https://openbayes.com/console/username/jobs/uiqzq4uz5zzz 可查看容器 new-bayes-test 的详细信息
容器运行中
容器日志:
0
1
2
...
95
96
97
98
99
done
容器执行完毕

更多信息见 用 bayes 管理容器

升级

您可以通过下面的命令轻松升级我们的 CLI 工具:

$ bayes upgrade

使用哲学

bayes 命令行工具意在补充 web 界面部分操作的不足,提升部分更适合在命令行界面进行的操作的体验;而不是为了让用户完全脱离 web 界面独立使用的。尤其是在数据集的创建、Python 脚本的创建相比于 web 界面的操作流程有非常大的提升。后面我们重点介绍这两个场景。

命令行工具会提供很多命令方便用户从命令行界面切换到 web 界面查看容器或者数据的内容。反过来,未来 web 端也会增加更多的命令行操作提示,方便用户在两个界面间穿梭。

在 Jupyter 工作空间中使用命令行工具

目前命令行工具已经集成到了 Jupyter 工作空间中,在 Jupyter 中打开「Terminal(命令行终端)」后会出现如下的提示:

按照提示输入命令 bayes gear init 后自动完成账号的登录,并初始化 openbayes.yaml 文件(更多配置文件的信息见OpenBayes 配置文件)。