命令行工具 bayes 基本介绍
OpenBayes 提供了一个命令行工具 bayes
方便在命令行界面直接与 OpenBayes 服务之间进行交互。相比直接在 web 界面进行交互,命令行工具在「创建 Python 脚本」「上传数据集」等诸多方面会更加简单和高效。
安装
OpenBayes CLI 现在使用 Python 编写,您可以通过 Python 的包管理器 pip 来安装。在 安装 bayes 命令行工具 中详细介绍了安装步骤。
安装完成后,您可以通过以下命令验证安装:
$ pip show openbayes-cli
这将显示 CLI 工具的版本、安装位置、依赖等详细信息。然后使用以下命令验证 CLI 工具是否可以正常工作:
$ bayes status
如果安装成功,该命令将显示您的连接状态和基本系统信息。
在命令行中看到如上的信息说明 bayes
工具已经安装成功了,接下来可以通过命令 bayes login
登录账号:
$ bayes login username
请输入 username 的密码:
username 已成功登入 openbayes
然后我们通过 bayes -h
可以查看具体能做什么操作:
$ bayes -h
Usage: bayes [OPTIONS] COMMAND [ARGS]...
OpenBayes 命令行工具
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help -h Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ data 数据集相关操作 │
│ gear 容器相关操作 │
│ hpc 高性能计算相关操作 │
│ login 登录 │
│ logout 注销 │
│ org 组织相关操作 │
│ ssh SSH 相关操作 │
│ status 登录信息 │
│ switch 切换服务端环境 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
使用 "bayes [命令] --help" 获取更多有关此命令的信息。
获取子命令的帮助信息
您可以通过添加 --help
或 -h
参数来获取任何子命令的详细帮助信息。例如,查看数据集相关操作的帮助信息:
$ bayes data -h
Usage: bayes data [OPTIONS] COMMAND [ARGS]...
数据集相关操作
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ create 创建一个新的数据集 │
│ ls 显示用户的数据集 │
│ new-version 创建一个新的空的数据集版本 │
│ open 在浏览器打开数据集页面 │
│ upload 上传本地数据到数据集 │
│ versions 显示用户的数据集的版本列表 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
同样地,您可以查看容器相关操作的帮助信息:
$ bayes gear -h
Usage: bayes gear [OPTIONS] COMMAND [ARGS]...
容器相关操作
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ bindings 查看运行容器可绑定的数据 │
│ download 下载容器输出 │
│ env 查看运行容器可选的环境 │
│ init 初始化容器 │
│ logs 查看容器日志 │
│ ls 查看所有容器 │
│ open 在浏览器打开容器页面 │
│ resource 查看运行容器可选的资源 │
│ restart 继续执行容器 │
│ run 运行容器 │
│ status 查看容器下的所有任务 │
│ stop 停止容器 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
快速开始
登录
$ 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
当前正在个人账号 admin 上进行操作...
command 信息为: python main.py
正在上传源代码...
正在准备上传源代码...
正在获取上传授权...
开始扫描文件,请稍候...
共发现 5 个文件,总计 10.3 kB,开始上传...
上传进度: 100% (5/5): 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10.3k/10.3k [00:05<00:00, 2.04kB/s]
✅ 源代码上传成功! 已上传 5 个文件
正在向服务器请求创建容器...
容器创建成功
打开网页 https://openbayes.com/console/admin/jobs/ia0j6m6fzp1l 可查看容器的详细信息
容器运行中
其中容器日志如下:
bayes cmd exists.
/usr/local/bin/bayes
已成功切换到 bayes
若需使用 SSH,请重新调用 bayes ssh init 命令
已成功登入 OpenBayes
若需使用 SSH,请重新调用 bayes ssh init 命令
已成功切换到个人账号 admin
curl: (5) Could not resolve proxy: alchemist-experience
proxy alchemist-experience:7890 not working, ignoring
0
1
2
...
95
96
97
98
99
done
更多信息见 用 bayes 管理容器。
升级
您可以通过以下命令升级到最新版本:
$ pip install --upgrade openbayes-cli
如果您希望直接从官方 PyPI 源升级,避免使用本地缓存和第三方镜像,可以使用以下命令:
# 不使用缓存
$ pip install --upgrade openbayes-cli --no-cache-dir
# 使用官方 PyPI 源
$ pip install --upgrade openbayes-cli --index-url https://pypi.org/simple
使用哲学
bayes
命令行工具意在补充 web 界面部分操作的不足,提升部分更适合在命令行界面进行的操作的体验;而不是为了让用户完全脱离 web 界面独立使用的。尤其是在数据集的创建、Python 脚本的创建相比于 web 界面的操作流程有非常大的提升。后面我们重点介绍这两个场景。
命令行工具会提供很多命令方便用户从命令行界面切换到 web 界面查看容器或者数据的内容。反过来,未来 web 端也会增加更多的命令行操作提示,方便用户在两个界面间穿梭。
在 Jupyter 工作空间中使用命令行工具
目前命令行工具已经集成到了 Jupyter 工作空间中,在 Jupyter 中打开「Terminal(命令行终端)」后会出现如下的提示:
按照提示输入命令 bayes gear init
后自动完成账号的登录,并初始化 openbayes.yaml
文件(更多配置文件的信息见OpenBayes 配置文件)。