ma-cli命令介绍
ma-cli是ModelArts服务提供的一套命令行工具,它包含很多内容,这里介绍自定义镜像构建部分。ma-cli提供了5个命令,分别为:
- ma-cli configure,配置用户登录信息,用以操作ModelArts资源;
- ma-cli image get,查询用户可访问的镜像,包括ModelArts提供的公共镜像和用户自己的私有镜像;
- ma-cli image debug,调试镜像,仿照ModelArts开发环境的方式运行用户的镜像,发现镜像中可能存在的问题;
- ma-cli image register,注册镜像,将用户本地的镜像注册到ModelArts中,注册后镜像可用于创建ModelArts的开发环境;
- ma-cli image unregister,取消注册,将注册的镜像从ModelArts中删除。
使用上述5个命令,用户可使用自己的镜像创建ModelArts的开发环境。
配置用户登录信息ma-cli configure
用户填写IAM用户信息。关于IAM请参考IAM基本概念,要确认填写信息的正确性,请先使用IAM用户登录的方式登录。
ma-cli configure
执行后,会提示填写以下信息:

选项 |
含义 |
---|---|
account |
IAM用户的账号。 |
username |
IAM用户的用户名,不填则默认与account相同。 |
password |
密码。请注意,password这一项的输入值会被隐藏。 |
region |
局点信息,填入界面对应数值即可。 |
save password(y/n) |
是否保存密码。 y:加密后保存。 n: 不保存。 |
填写完成后,信息会被保存在$HOME/.modelarts/config.json中,文件内容如下:
{ "cn-north-4": { "auths": { "account": "***", "username": "***", "password": "***" } }, "current region": "cn-north-4" }
若save password(y/n)选择了n,则password不会被保存。
支持登录多个局点,但每个局点只支持一个账号,登录多局点时文件内容如下:
{ "cn-south-1": { "auths": { "account": "***", "username": "***", "password": "***" } }, "current region": "cn-north-4", "cn-north-4": { "auths": { "account": "***", "username": "***" } }, "cn-east-3": { "auths": { "account": "***", "username": "***", "password": "***" } } }
请注意"current region"这一项,代表了最近一次登录的局点。其他命令默认会访问该局点。如果要访问别的局点,请在命令中使用-r 参数指定。
查询镜像ma-cli image get
查询用户拥有的镜像。支持两种查询方式:根据镜像类型查询和根据镜像名称查询。可使用ma-cli image get -h获取帮助信息。
- 根据镜像类型查询
ma-cli image get -t BUILD_IN -o wide
查询结果如下图:
图2 根据镜像类型查询
- 根据镜像名称查询
ma-cli image get -n pytorch1.4-cuda10.1-cudnn7-ubuntu18.04 -o wide
查询结果如下图:
图3 根据镜像名称查询
命令支持的选项如下表:
选项 |
含义 |
---|---|
--type, -t |
镜像类型,有3个可选值。
|
--name, -n |
镜像名称。 |
--region, -r |
指定要查询哪个region,默认由$HOME/.modelarts/config.json的"current region"指定。 支持的值:1 (北京4),2(上海1),3(华南广州)。 |
--password, -p |
密码。如果登录时未保存密码,则需要指定。 |
--output, -o |
指定如何展示查询的结果,目前支持:
|
查询后打印的表格中各字段的含义如下:
名称 |
含义 |
---|---|
name |
镜像名称。 |
id |
镜像id。 |
swr_path |
镜像的SWR地址。 |
arch |
镜像支持的架构,值为X86_64或AARCH64。 |
service |
镜像支持的服务,值为NOTEBOOK,MODELBOX或SSH。 |
resource_category |
镜像支持的计算资源,值为CPU、GPU或ASCEND。 |
visibility |
镜像可见性,值为PUBLIC(所有用户可见)、 PRIVATE(仅自己可见)。 |
description |
镜像描述。 |
调试镜像ma-cli image debug
使用ma-cli image debug --swr_path=[OPTIONS] SWR_PATH来调试镜像。SWR_PATH是一个完整的swr路径。可使用ma-cli image debug -h获取帮助信息。
ma-cli image debug --swr_path=<swr_path> -s NOTEBOOK
选项 |
含义 |
---|---|
--service, -s |
该镜像提供的服务,目前支持两种类型:NOTEBOOK和MODELBOX。 该参数可以输入多个值,如-s NOTEBOOK -s MODELBOX。默认为NOTEBOOK。 |
--arch, -a |
镜像支持的架构,可选值为X86_64和AARCH64。默认为X86_64。 |
--region, -r |
指定要调试哪个region的镜像,默认由$HOME/.modelarts/config.json的"current region"指定。 支持的值:1 (北京4),2(上海1),3(华南广州)。 |
--gpus, -g |
为启动的容器挂载gpu。 |
命令执行后,用户的镜像会被运行为一个容器,运行流程和在ModelArts上实际的流程接近,所以调试通过后,该镜像在ModelArts服务中也能够正常使用。
命令执行过程为:首先停止上次调试时已经启动的容器,然后进行准备工作,最后运行该镜像。
容器启动成功后,会打印常用命令,帮助用户进一步调试自定义镜像,如下图所示。

注册镜像ma-cli image register
使用命令ma-cli image register --swr_path=[OPTIONS] SWR_PATH将镜像注册到ModelArts服务中。可使用ma-cli image register -h获取帮助信息。
ma-cli image register --swr_path=<swr_path> -a X86_64 -d "This image contains pytorch_1_8 and ffmpeg 3" -s NOTEBOOK -rs CPU -r 2
选项 |
含义 |
---|---|
--arch, -a |
镜像支持的架构,可选值为X86_64和AARCH64。默认为X86_64。 |
--description, -d |
镜像描述,最长512个字符。默认为空字符串。 |
--service, -s |
镜像支持的服务,可选值为NOTEBOOK和MODELBOX。 可以输入多个值,如-s NOTEBOOK -s MODELBOX。默认为NOTEBOOK。 |
--resource_category, -rs |
镜像支持的计算资源,可填写多个,支持以下几种选择:
默认为-rs CPU -rs GPU |
--visibility, -v |
镜像注册后的可见性,可选值为PUBLIC(所有用户可见)、 PRIVATE(仅自己可见)。默认为PRIVATE。 |
--workspace_id, -wi |
工作空间的id,默认为0。 |
--password, -p |
密码。如果登录时未保存密码,则需要指定。 |
--region, -r |
指定要将镜像注册到哪个region,默认由$HOME/.modelarts/config.json的"current region"指定。 支持的值:1 (北京4),2(上海1),3(华南广州)。 |
注册成功后,会返回一些参数信息,样例如下:

取消注册ma-cli image unregister
使用命令ma-cli image unregister [OPTIONS] IMAGE_ID来取消注册。取消后在ModelArts的镜像管理页面查询不到该镜像。可使用ma-cli image unregister -h获取帮助信息。
ma-cli image unregister <IMAGE ID> --delete_swr_image
选项 |
含义 |
---|---|
--delete_swr_image, -d |
标志位,在取消注册的同时是否在SWR中也删除该镜像。 |
--password, -p |
密码。如果登录时未保存密码,则需要指定。 |
--region, -r |
指定要取消哪个region的镜像。默认由$HOME/.modelarts/config.json的"current region"指定。 支持的值:1 (北京4),2(上海1),3(华南广州)。 |