云服务器内容精选

  • 在E CS 上调试SWR镜像是否能在ModelArts Notebook中使用 ma-cli支持在ECS上调试SWR镜像是否可以在ModelArts开发空间中运行,发现镜像中可能存在的问题。 表10 参数说明 参数名 参数类型 是否必选 参数说明 -swr / --swr-path String 是 需要调试的镜像的SWR路径。 -r / --region String 是 需要调试的镜像所在的区域。 -s / --service String 否 调试镜像的服务类型,NOTEBOOK或者MODELBOX,默认是NOTEBOOK。 -a / --arch String 否 调试镜像的架构,X86_64或者AARCH64,默认是X86_64。 -g / --gpu Bool 否 使用GPU进行调试开关,默认关闭。
  • 使用ma-cli image register命令注册SWR镜像到ModelArts镜像管理 调试完成后,使用ma-cli image register命令将新镜像注册到ModelArts镜像管理服务中,进而在能够在ModelArts中使用该镜像。 $ma-cli image register -h Usage: ma-cli image register [OPTIONS] Register image to ModelArts. Example: # Register image into ModelArts service ma-cli image register --swr-path=xx # Share SWR image to DLI service ma-cli image register -swr xx -td # Register image into ModelArts service and specify architecture to be 'AARCH64' ma-cli image register --swr-path=xx --arch AARCH64 Options: -swr, --swr-path TEXT SWR path without swr endpoint, eg:organization/image:tag. [required] -a, --arch [X86_64|AARCH64] Image architecture (default: X86_64). -s, --service [NOTEBOOK|MODELBOX] Services supported by this image(default NOTEBOOK). -rs, --resource-category [CPU|GPU|ASCEND] The resource category supported by this image (default: CPU and GPU). -wi, --workspace-id TEXT The workspace to register this image (default: "0"). -v, --visibility [PUBLIC|PRIVATE] PUBLIC: every user can use this image. PRIVATE: only image owner can use this image (Default: PRIVATE). -td, --to-dli Register swr image to DLI, which will share SWR image to DLI service. -d, --description TEXT Image description (default: ""). -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -h, -H, --help Show this message and exit. 表8 参数说明 参数名 参数类型 是否必选 参数说明 -swr / --swr-path String 是 需要注册的镜像的SWR路径。 -a / --arch String 否 注册镜像的架构,X86_64或者AARCH64,默认是X86_64。 -s / --service String 否 注册镜像的服务类型,NOTEBOOK或者MODELBOX,默认是NOTEBOOK。 可以输入多个值,如-s NOTEBOOK -s MODELBOX。 -rs / --resource-category String 否 注册镜像能够使用的资源类型,默认是CPU和GPU。 -wi / --workspace-id String 否 注册镜像到指定的工作空间,workspace ID默认是0。 -v / --visibility Bool 否 注册的镜像可见性,PRIVATE(仅自己可见)或者PUBLIC(所有用户可见),默认是PRIVATE。 -td / --to-dli Bool 否 注册镜像到DLI服务。 -d/ --description String 否 填写镜像描述,默认为空。 示例:注册SWR镜像到ModelArts。 ma-cli image register --swr-path=xx
  • 使用ma-cli image unregister命令取消已注册的镜像 使用ma-cli image unregister命令将注册的镜像从ModelArts中删除。 $ ma-cli image unregister -h Usage: ma-cli image unregister [OPTIONS] Unregister image from ModelArts. Example: # Unregister image ma-cli image unregister --image-id=xx # Unregister image and delete it from swr ma-cli image unregister --image-id=xx -d Options: -i, --image-id TEXT Unregister image details by image id. [required] -d, --delete-swr-image Delete the image from swr. -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -h, -H, --help Show this message and exit. 表9 参数说明 参数名 参数类型 是否必选 参数说明 -i / -image-id String 是 需要取消注册的镜像ID。 -d / --delete-swr-image Bool 否 取消注册后同步删除SWR镜像开关,默认关闭。
  • 使用ma-cli image add-template命令加载镜像构建模板 ma-cli可以使用add-template命令将镜像模板加载到指定文件夹下,默认路径为当前命令所在的路径。 比如${current_dir}/.ma/${template_name}/。也可以通过--dest命令指定保存的路径。当保存的路径已经有同名的模板文件夹时,可以使用--force | -f参数进行强制覆盖。 $ ma-cli image add-template -h Usage: ma-cli image add-template [OPTIONS] TEMPLATE_NAME Add buildin dockerfile templates into disk. Example: # List build-in dockerfile templates ma-cli image add-template customize_from_ubuntu_18.04_to_modelarts --force Options: --dst TEXT target save path. -f, --force Override templates that has been installed. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -h, -H, --help Show this message and exit. 表3 参数说明 参数名 参数类型 是否必选 参数说明 --dst String 否 加载模板到指定路径,默认是当前路径。 -f / --force Bool 否 是否强制覆盖已存在的同名模板,默认不覆盖。 示例:加载customize_from_ubuntu_18.04_to_modelarts镜像构建模板。 ma-cli image add-template customize_from_ubuntu_18.04_to_modelarts
  • 使用ma-cli image build命令在ModelArts Notebook中进行镜像构建 使用ma-cli image build命令基于指定的Dockerfile进行镜像构建,仅支持在ModelArts Notebook里使用该命令。 $ ma-cli image build -h Usage: ma-cli image build [OPTIONS] FILE_PATH Build docker image in Notebook. Example: # Build a image and push to SWR ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile -swr my_organization/my_image:0.0.1 # Build a image and push to SWR, dockerfile context path is current dir ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile -swr my_organization/my_image:0.0.1 -context . # Build a local image and save to local path and OBS ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile --target ./build.tar --obs_path obs://bucket/object --swr-path my_organization/my_image:0.0.1 Options: -t, --target TEXT Name and optionally a tag in the 'name:tag' format. -swr, --swr-path TEXT SWR path without swr endpoint, eg:organization/image:tag. [required] --context DIRECTORY build context path. -arg, --build-arg TEXT build arg for Dockerfile. -obs, --obs-path TEXT OBS path to save local built image. -f, --force Force to overwrite the existing swr image with the same name and tag. -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit. 表5 参数说明 参数名 参数类型 是否必选 参数说明 FILE_PATH String 是 Dockerfile文件所在的路径。 -t / --target String 否 表示构建生成的tar包保存在本地的路径,默认是当前文件夹目录。 -swr / --swr-path String 是 SWR镜像名称,遵循organization/image_name:tag格式,针对于构建保存tar包场景可以省略。 --context String 否 Dockerfile构建时的上下文信息路径,主要用于数据复制。 -arg / --build-arg String 否 指定构建参数,多个构建参数可以使用--build-arg VERSION=18.04 --build-arg ARCH=X86_64 -obs / --obs-path String 否 将生成的tar包自动上传到OBS中。 -f / --force Bool 否 是否强制覆盖已存在的SWR镜像,默认不覆盖。 示例:在ModelArts Notebook里进行镜像构建。 ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile -swr notebook_test/my_image:0.0.1 其中“.ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile”为Dockerfile文件所在路径,“notebook_test/my_image:0.0.1”为构建的新镜像的SWR路径。
  • 使用ma-cli image prune命令在ModelArts Notebook中清理镜像构建缓存 使用ma-cli image prune命令清理镜像构建缓存,仅支持在ModelArts Notebook里使用该命令。 $ ma-cli image prune -h Usage: ma-cli image prune [OPTIONS] Prune image build cache by image-building in Notebook. Example: # Prune image build cache ma-cli image prune Options: -ks, --keep-storage INTEGER Amount of disk space to keep for cache below this limit (in MB) (default: 0). -kd, --keep-duration TEXT Keep cache newer than this limit, support second(s), minute(m) and hour(h) (default: 0s). -v, --verbose Show more verbose output. -D, --debug Debug Mode. Shows full stack trace when error occurs. -h, -H, --help Show this message and exit. 表7 参数说明 参数名 参数类型 是否必选 参数说明 -ks / --keep-storage Int 否 清理缓存时保留的缓存大小,单位是MB,默认是0,表示全部清理。 -kd / --keep-duration String 否 清理缓存时保留较新的缓存,只清除历史缓存,单位为s(秒)、m(分钟)、h(小时),默认是0s,表示全部清理。 -v / --verbose Bool 否 显示详细的信息开关,默认关闭。 示例:清理保留1MB镜像缓存。 ma-cli image prune -ks 1
  • 使用ma-cli image df命令在ModelArts Notebook中查询镜像构建缓存 使用ma-cli image df命令查询镜像构建缓存,仅支持在ModelArts Notebook里使用该命令。 $ ma-cli image df -h Usage: ma-cli image df [OPTIONS] Query disk usage used by image-building in Notebook. Example: # Query image disk usage ma-cli image df Options: -v, --verbose Show detailed information on disk usage. -D, --debug Debug Mode. Shows full stack trace when error occurs. -h, -H, --help Show this message and exit. 表6 参数说明 参数名 参数类型 是否必选 参数说明 -v / --verbose Bool 否 显示详细的信息开关,默认关闭。 示例:在ModelArts Notebook里查看所有镜像缓存。 ma-cli image df 示例:显示镜像缓存占用磁盘的详细信息。 ma-cli image df --verbose
  • 镜像构建命令总览 $ ma-cli image -h Usage: ma-cli image [OPTIONS] COMMAND [ARGS]... Support get registered image list, register or unregister image, debug image, build image in Notebook. Options: -H, -h, --help Show this message and exit. Commands: add-template, at List build-in dockerfile templates. build Build docker image in Notebook. debug Debug SWR image as a Notebook in ECS. df Query disk usage. get-image, gi Query registered image in ModelArts. get-template, gt List build-in dockerfile templates. prune Prune image build cache. register Register image to ModelArts. unregister Unregister image from ModelArts. 表1 镜像构建支持的命令 命令 命令详情 get-template 查询镜像构建模板。 add-template 加载镜像构建模板。 get-image 查询ModelArts已注册镜像。 register 注册SWR镜像到ModelArts镜像管理。 unregister 取消注册ModelArts镜像管理中的已注册镜像。 build 基于指定的Dockerfile构建镜像 (只支持ModelArts Notebook里使用)。 df 查询镜像构建缓存(只支持ModelArts Notebook里使用)。 prune 清理镜像构建缓存 (只支持ModelArts Notebook里使用)。 debug 在ECS上调试SWR镜像是否能在ModelArts Notebook中使用 (只支持已安装docker环境的ECS)。
  • 使用ma-cli ma-job get-log命令查询ModelArts训练作业日志 执行ma-cli ma-job get-log命令查询ModelArts训练作业日志。 $ ma-cli ma-job get-log -h Usage: ma-cli ma-job get-log [OPTIONS] Get job log details. Example: # Get job log by job id ma-cli ma-job get-log --job-id ${job_id} Options: -i, --job-id TEXT Get training job details by job id. [required] -t, --task-id TEXT Get training job details by task id (default "worker-0"). -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -h, -H, --help Show this message and exit. 参数名 参数类型 是否必选 参数说明 -i / --job-id String 是 查询指定训练作业ID的任务日志。 -t / --task-id String 否 查询指定task的日志,默认是work-0。 示例:查询指定训练作业ID的作业日志。 ma-cli ma-job get-log --job-id b63e90baxxx
  • 使用ma-cli ma-job get-flavor命令查询ModelArts训练资源规格 执行ma-cli ma-job get-flavor命令查询ModelArts训练的资源规格。 $ ma-cli ma-job get-flavor -h Usage: ma-cli ma-job get-flavor [OPTIONS] Get job flavor info. Example: # Get training job flavors ma-cli ma-job get-flavor Options: -t, --flavor-type [CPU|GPU|Ascend] Type of training job flavor. -v, --verbose Show detailed information about training flavors. -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit. 表5 参数说明 参数名 参数类型 是否必选 参数说明 -t / --flavor-type String 否 资源规格类型,如果不指定默认返回所有的资源规格。 -v / --verbose Bool 否 显示详细的信息开关,默认关闭。 示例:查看训练作业的资源规格及类型。 ma-cli ma-job get-flavor
  • 使用ma-cli ma-job stop命令停止ModelArts训练作业 执行ma-cli ma-job stop命令,可停止指定作业id的训练作业。 $ ma-cli ma-job stop -h Usage: ma-cli ma-job stop [OPTIONS] Stop training job by job id. Example: Stop training job by job id ma-cli ma-job stop --job-id ${job_id} Options: -i, --job-id TEXT Get training job event by job id. [required] -y, --yes Confirm stop operation. -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit. 表6 参数说明 参数名 参数类型 是否必选 参数说明 -i / --job-id String 是 ModelArts训练作业ID。 -y / --yes Bool 否 强制关闭指定训练作业。 示例:停止运行中的训练作业。 ma-cli ma-job stop --job-id efd3e2f8xxx
  • 示例:基于ModelArts预置镜像提交训练作业 指定命令行options参数提交训练作业 ma-cli ma-job submit --code-dir obs://your-bucket/mnist/code/ \ --boot-file main.py \ --framework-type PyTorch \ --working-dir /home/ma-user/modelarts/user-job-dir/code \ --framework-version pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64 \ --data-url obs://your-bucket/mnist/dataset/MNIST/ \ --log-url obs://your-bucket/mnist/logs/ \ --train-instance-type modelarts.vm.cpu.8u \ --train-instance-count 1 \ -q 使用预置镜像的train.yaml样例: # .ma/train.yaml样例(预置镜像) # pool_id: pool_xxxx train-instance-type: modelarts.vm.cpu.8u train-instance-count: 1 data-url: obs://your-bucket/mnist/dataset/MNIST/ code-dir: obs://your-bucket/mnist/code/ working-dir: /home/ma-user/modelarts/user-job-dir/code framework-type: PyTorch framework-version: pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64 boot-file: main.py log-url: obs://your-bucket/mnist/logs/ ##[Optional] Uncomment to set uid when use custom image mode uid: 1000 ##[Optional] Uncomment to upload output file/dir to OBS from training platform output: - name: output_dir obs_path: obs://your-bucket/mnist/output1/ ##[Optional] Uncomment to download input file/dir from OBS to training platform input: - name: data_url obs_path: obs://your-bucket/mnist/dataset/MNIST/ ##[Optional] Uncomment pass hyperparameters parameters: - epoch: 10 - learning_rate: 0.01 - pretrained: ##[Optional] Uncomment to use dedicated pool pool_id: pool_xxxx ##[Optional] Uncomment to use volumes attached to the training job volumes: - efs: local_path: /xx/yy/zz read_only: false nfs_server_path: xxx.xxx.xxx.xxx:/
  • 使用ma-cli ma-job get-event命令查询ModelArts训练作业事件 执行ma-cli ma-job get-event命令查看ModelArts训练作业事件。 $ ma-cli ma-job get-event -h Usage: ma-cli ma-job get-event [OPTIONS] Get job running event. Example: # Get training job running event ma-cli ma-job get-event --job-id ${job_id} Options: -i, --job-id TEXT Get training job event by job id. [required] -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit. 参数名 参数类型 是否必选 参数说明 -i / --job-id String 是 查询指定训练作业ID的事件。 示例:查看指定ID的训练作业的事件详情等。 ma-cli ma-job get-event --job-id b63e90baxxx
  • 使用ma-cli ma-job get-engine命令查询ModelArts训练AI引擎 执行ma-cli ma-job get-engine命令查询ModelArts训练使用的AI引擎。 $ ma-cli ma-job get-engine -h Usage: ma-cli ma-job get-engine [OPTIONS] Get job engine info. Example: # Get training job engines ma-cli ma-job get-engine Options: -v, --verbose Show detailed information about training engines. -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit. 表4 参数说明 参数名 参数类型 是否必选 参数说明 -v / --verbose Bool 否 显示详细的信息开关,默认关闭。 示例:查看训练作业的AI引擎。 ma-cli ma-job get-engine
  • 示例:基于 自定义镜像 创建训练作业 指定命令行options参数提交训练作业 ma-cli ma-job submit --image-url atelier/pytorch_1_8:pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64-20220926104358-041ba2e \ --code-dir obs://your-bucket/mnist/code/ \ --user-command "export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH && cd /home/ma-user/modelarts/user-job-dir/code && /home/ma-user/anaconda3/envs/PyTorch-1.8/bin/python main.py" \ --data-url obs://your-bucket/mnist/dataset/MNIST/ \ --log-url obs://your-bucket/mnist/logs/ \ --train-instance-type modelarts.vm.cpu.8u \ --train-instance-count 1 \ -q 使用自定义镜像的train.yaml样例: # .ma/train.yaml样例(自定义镜像) image-url: atelier/pytorch_1_8:pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64-20220926104358-041ba2e user-command: export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH && cd /home/ma-user/modelarts/user-job-dir/code && /home/ma-user/anaconda3/envs/PyTorch-1.8/bin/python main.py train-instance-type: modelarts.vm.cpu.8u train-instance-count: 1 data-url: obs://your-bucket/mnist/dataset/MNIST/ code-dir: obs://your-bucket/mnist/code/ log-url: obs://your-bucket/mnist/logs/ ##[Optional] Uncomment to set uid when use custom image mode uid: 1000 ##[Optional] Uncomment to upload output file/dir to OBS from training platform output: - name: output_dir obs_path: obs://your-bucket/mnist/output1/ ##[Optional] Uncomment to download input file/dir from OBS to training platform input: - name: data_url obs_path: obs://your-bucket/mnist/dataset/MNIST/ ##[Optional] Uncomment pass hyperparameters parameters: - epoch: 10 - learning_rate: 0.01 - pretrained: ##[Optional] Uncomment to use dedicated pool pool_id: pool_xxxx ##[Optional] Uncomment to use volumes attached to the training job volumes: - efs: local_path: /xx/yy/zz read_only: false nfs_server_path: xxx.xxx.xxx.xxx:/