本文演示如何使用云容器引擎控制台提交MindSpore的分布式训练任务。
前提条件
-
已开通包含NPU的Kubernetes集群。
-
已安装智算套件。
背景信息
本文演示如何提交一个MindSpore的分布式训练任务,相关的数据已经包含在容器镜像中。若用户自有模型或训练任务可自行获取数据集,通过使用CSI hpfs文件存储,通过PVC方式挂入进容器中使用。
操作步骤
-
进入云容器引擎控制台
-
点击左侧【集群】进入集群列表
-
点击使用的集群名称,进入集群
-
点击左侧【自定义资源】,选择资源浏览器,找到mindspore.gitee.com/v1MSJob ,选择命名空间,点击新增
-
在创建yaml中,填入以下信息后点击【创建】。注意事项: 1.修改对应的镜像仓库前缀为对应资源池,可在容器镜像控制台查看,如武汉41,则修改{image_repo}为registry-vpc-crs-wuhan41.ctyun.cn 2. namespace: 要和界面选择的一致
apiVersion: mindspore.gitee.com/v1
kind: MSJob
metadata:
name: ms-npu-mnist
namespace: default
spec:
runPolicy:
cleanPodPolicy: None
successPolicy: AllWorkers
msReplicaSpecs:
Scheduler:
replicas: 1
restartPolicy: Never
template:
spec:
containers:
- name: mindspore
image: {image_repo}/icce/mindspore-mnist:multi
imagePullPolicy: IfNotPresent
command: ["/bin/bash", "-c"]
args: ["source /usr/local/Ascend/ascend-toolkit/set_env.sh; python net.py "]
Worker:
replicas: 2
restartPolicy: Never
template:
spec:
containers:
- name: mindspore
image: {image_repo}/icce/mindspore-mnist:multi
imagePullPolicy: IfNotPresent
command: ["/bin/bash", "-c"]
args: ["source /usr/local/Ascend/ascend-toolkit/set_env.sh; python net.py "]
resources:
limits:
huawei.com/Ascend910: 1
requests:
huawei.com/Ascend910: 1
volumeMounts:
- name: ascend-driver
mountPath: /usr/local/Ascend/driver
volumes:
- name: ascend-driver
hostPath:
path: /usr/local/Ascend/driver
-
查看运行状态:点击左侧【容器组】,找到任务名为前缀的容器,点击名称,查看日志/监控等信息是否符合预期。