更新时间:2023-01-29 GMT+08:00
分享

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工具已经预置在ModelArts的Notebook中,如需在本地安装使用请参见Step1 准备Docker机器并配置环境信息章节,使用安装脚本自行安装。

配置用户登录信息ma-cli configure

用户填写IAM用户信息。关于IAM请参考IAM基本概念,要确认填写信息的正确性,请先使用IAM用户登录的方式登录。

ma-cli configure

执行后,会提示填写以下信息:

图1 配置登录信息
表1 登录信息

选项

含义

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 根据镜像名称查询

命令支持的选项如下表:

表2 查询镜像支持的选项

选项

含义

--type, -t

镜像类型,有3个可选值。

  • BUILD_IN:内置镜像,即ModelArts团队提供的公共镜像;
  • DEDICATED:用户注册的镜像;
  • ALL:所有类型的镜像。默认为ALL。

--name, -n

镜像名称。

--region, -r

指定要查询哪个region,默认由$HOME/.modelarts/config.json的"current region"指定。

支持的值:1 (北京4),2(上海1),3(华南广州)。

--password, -p

密码。如果登录时未保存密码,则需要指定。

--output, -o

指定如何展示查询的结果,目前支持:

  • default:使用表格展示两个字段,name和swr_path,默认为default。
  • wide:使用表格展示8个字段,如下表所示。

查询后打印的表格中各字段的含义如下:

表3 返回值各字段的含义

名称

含义

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 
表4 镜像调试选项说明

选项

含义

--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服务中也能够正常使用。

命令执行过程为:首先停止上次调试时已经启动的容器,然后进行准备工作,最后运行该镜像。

容器启动成功后,会打印常用命令,帮助用户进一步调试自定义镜像,如下图所示。

图4 容器启动成功

注册镜像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
表5

选项

含义

--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 CPU -rs GPU
  • -rs CPU -rs ASCEND

默认为-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(华南广州)。

注册成功后,会返回一些参数信息,样例如下:

图5 注册成功

取消注册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
表6 取消注册选项说明

选项

含义

--delete_swr_image, -d

标志位,在取消注册的同时是否在SWR中也删除该镜像。

--password, -p

密码。如果登录时未保存密码,则需要指定。

--region, -r

指定要取消哪个region的镜像。默认由$HOME/.modelarts/config.json的"current region"指定。

支持的值:1 (北京4),2(上海1),3(华南广州)。

分享:

    相关文档

    相关产品