- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
-
ModelArts用户指南(Standard)
- ModelArts Standard使用流程
- ModelArts Standard准备工作
- ModelArts Standard资源管理
- 使用自动学习实现零代码AI开发
- 使用Workflow实现低代码AI开发
- 使用Notebook进行AI开发调试
- 数据准备与处理
- 使用ModelArts Standard训练模型
- 使用ModelArts Standard部署模型并推理预测
- 制作自定义镜像用于ModelArts Standard
- ModelArts Standard资源监控
- 使用CTS审计ModelArts服务
- ModelArts用户指南(Studio)
- ModelArts用户指南(Lite Server)
- ModelArts用户指南(Lite Cluster)
- ModelArts用户指南(AI Gallery)
-
最佳实践
- ModelArts最佳实践案例列表
- 昇腾能力应用地图
- DeepSeek系列模型推理
-
LLM大语言模型训练推理
- 在ModelArts Studio基于Qwen2-7B模型实现新闻自动分类
- 主流开源大模型基于Lite Server适配Ascend-vLLM PyTorch NPU推理指导(6.3.912)
- 主流开源大模型基于Lite Server适配ModelLink PyTorch NPU训练指导(6.3.912)
- 主流开源大模型基于Lite Cluster适配ModelLink PyTorch NPU训练指导(6.3.912)
- 主流开源大模型基于Standard+OBS适配ModelLink PyTorch NPU训练指导(6.3.912)
- 主流开源大模型基于Standard+OBS+SFS适配ModelLink PyTorch NPU训练指导(6.3.912)
- 主流开源大模型基于Lite Server适配LlamaFactory PyTorch NPU训练指导(6.3.912)
- 主流开源大模型基于Lite Server适配PyTorch NPU推理指导(6.3.911)
- 主流开源大模型基于Standard适配PyTorch NPU推理指导(6.3.911)
- 主流开源大模型基于Lite Cluster适配PyTorch NPU推理指导(6.3.911)
- 主流开源大模型基于Lite Server适配ModelLink PyTorch NPU训练指导(6.3.911)
- 主流开源大模型基于Lite Server适配LlamaFactory PyTorch NPU训练指导(6.3.911)
- 主流开源大模型基于Standard+OBS适配ModelLink PyTorch NPU训练指导(6.3.911)
- 主流开源大模型基于Standard+OBS+SFS适配ModelLink PyTorch NPU训练指导(6.3.911)
- 主流开源大模型基于Lite Cluster适配ModelLink PyTorch NPU训练指导(6.3.911)
- 主流开源大模型基于Lite Server适配PyTorch NPU推理指导(6.3.910)
- 主流开源大模型基于Standard适配PyTorch NPU推理指导(6.3.910)
- 主流开源大模型基于Lite Cluster适配PyTorch NPU推理指导(6.3.910)
- 主流开源大模型基于Lite Server适配ModelLink PyTorch NPU训练指导(6.3.910)
- 主流开源大模型基于Lite Server适配LlamaFactory PyTorch NPU训练指导(6.3.910)
- 主流开源大模型基于Standard+OBS适配ModelLink PyTorch NPU训练指导(6.3.910)
- 主流开源大模型基于Standard+OBS+SFS适配ModelLink PyTorch NPU训练指导(6.3.910)
- 主流开源大模型基于Lite Cluster适配ModelLink PyTorch NPU训练指导(6.3.910)
- 主流开源大模型基于Lite Server适配PyTorch NPU推理指导(6.3.909)
- 主流开源大模型基于Standard适配PyTorch NPU推理指导(6.3.909)
- 主流开源大模型基于Lite Cluster适配PyTorch NPU推理指导(6.3.909)
- 主流开源大模型基于Lite Server适配ModelLink PyTorch NPU训练指导(6.3.909)
- 主流开源大模型基于Lite Server适配LlamaFactory PyTorch NPU训练指导(6.3.909)
- 主流开源大模型基于Standard+OBS适配ModelLink PyTorch NPU训练指导(6.3.909)
- 主流开源大模型基于Standard+OBS+SFS适配ModelLink PyTorch NPU训练指导(6.3.909)
- 主流开源大模型基于Lite Cluster适配ModelLink PyTorch NPU训练指导(6.3.909)
- 主流开源大模型基于Lite Server适配PyTorch NPU推理指导(6.3.908)
- 主流开源大模型基于Standard适配PyTorch NPU推理指导(6.3.908)
- 主流开源大模型基于Lite Server适配ModelLink PyTorch NPU训练指导(6.3.908)
- 主流开源大模型基于Lite Server适配LlamaFactory PyTorch NPU训练指导(6.3.908)
- 主流开源大模型基于Standard+OBS适配ModelLink PyTorch NPU训练指导(6.3.908)
- 主流开源大模型基于Standard+OBS+SFS适配ModelLink PyTorch NPU训练指导(6.3.908)
- 主流开源大模型基于Lite Server适配ModelLink PyTorch NPU训练指导(6.3.907)
- 主流开源大模型基于Lite Server适配LlamaFactory PyTorch NPU训练指导(6.3.907)
- 主流开源大模型基于Lite Server适配PyTorch NPU推理指导(6.3.907)
- 主流开源大模型基于Standard+OBS适配PyTorch NPU训练指导(6.3.907)
- 主流开源大模型基于Standard+OBS+SFS适配PyTorch NPU训练指导(6.3.907)
- 主流开源大模型基于Standard适配PyTorch NPU推理指导(6.3.907)
- 主流开源大模型基于Lite Server适配PyTorch NPU训练指导(6.3.906)
- 主流开源大模型基于Lite Server适配PyTorch NPU推理指导(6.3.906)
- 主流开源大模型基于Standard适配PyTorch NPU训练指导(6.3.906)
- 主流开源大模型基于Standard适配PyTorch NPU推理指导(6.3.906)
- 主流开源大模型基于Lite Server适配PyTorch NPU训练指导(6.3.905)
- 主流开源大模型基于LIte Server适配PyTorch NPU推理指导(6.3.905)
- 主流开源大模型基于Standard适配PyTorch NPU训练指导(6.3.905)
- 主流开源大模型基于Standard适配PyTorch NPU推理指导(6.3.905)
-
MLLM多模态模型训练推理
- Qwen-VL基于Standard+OBS+SFS适配PyTorch NPU训练指导(6.3.912)
- Qwen-VL模型基于Standard+OBS适配PyTorch NPU训练指导(6.3.912)
- Qwen-VL基于Lite Server适配PyTorch NPU的Finetune训练指导(6.3.912)
- Qwen-VL基于DevServer适配PyTorch NPU的推理指导(6.3.909)
- MiniCPM-V2.6基于Lite Server适配PyTorch NPU训练指导(6.3.912)
- MiniCPM-V2.0推理及LoRA微调基于DevServer适配PyTorch NPU指导(6.3.910)
- InternVL2基于LIte Server适配PyTorch NPU训练指导(6.3.912)
- LLaVA-NeXT基于Lite Server适配PyTorch NPU训练微调指导(6.3.912)
- LLaVA模型基于Lite Server适配PyTorch NPU预训练指导(6.3.912)
- LLaVA模型基于DevServer适配PyTorch NPU推理指导(6.3.906)
- Llama 3.2-Vision基于Lite Server适配Pytorch NPU训练微调指导(6.3.912)
- LLaMA-VID基于DevServer适配PyTorch NPU推理指导(6.3.910)
- moondream2基于DevServer适配PyTorch NPU推理指导
-
文生图模型训练推理
- FlUX.1基于Lite Server适配PyTorch NPU推理指导(6.3.912)
- FLUX.1基于DevSever适配PyTorch NPU Finetune&Lora训练指导(6.3.911)
- Hunyuan-DiT基于DevServer部署适配PyTorch NPU推理指导(6.3.909)
- SD3.5基于Lite Server适配PyTorch NPU的推理指导(6.3.912)
- SD3基于Lite Server适配PyTorch NPU的训练指导(6.3.912)
- SD3 Diffusers框架基于Lite Server适配PyTorch NPU推理指导(6.3.912)
- SD1.5&SDXL ComfyUI、WebUI、Diffusers套件适配PyTorch NPU的推理指导(6.3.912)
- SD WEBUI套件适配PyTorch NPU的推理指导(6.3.908)
- SD1.5&SDXL Diffusers框架基于DevServer适配PyTorch NPU训练指导(6.3.908)
- SD1.5&SDXL Koyha框架基于DevServer适配PyTorch NPU训练指导(6.3.908)
- SDXL基于Standard适配PyTorch NPU的LoRA训练指导(6.3.908)
- SD3 Diffusers框架基于DevServer适配PyTorch NPU推理指导(6.3.907)
- SDXL&SD1.5 ComfyUI基于Lite Cluster适配NPU推理指导(6.3.906)
- SDXL&SD1.5 WebUI基于Lite Cluster适配NPU推理指导(6.3.906)
- SDXL基于Standard适配PyTorch NPU的Finetune训练指导(6.3.905)
- SDXL基于DevServer适配PyTorch NPU的Finetune训练指导(6.3.905)
- SDXL基于DevServer适配PyTorch NPU的LoRA训练指导(6.3.905)
- SD1.5基于DevServer适配PyTorch NPU Finetune训练指导(6.3.904)
- Open-Clip基于DevServer适配PyTorch NPU训练指导
- AIGC工具tailor使用指导
- 文生视频模型训练推理
- 数字人模型训练推理
- 内容审核模型训练推理
- GPU业务迁移至昇腾训练推理
- Standard权限管理
- Standard自动学习
- Standard开发环境
- Standard模型训练
- Standard推理部署
- 历史待下线案例
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
Workflow工作流管理
- 获取Workflow工作流列表
- 新建Workflow工作流
- 删除Workflow工作流
- 查询Workflow工作流
- 修改Workflow工作流
- 总览Workflow工作流
- 查询Workflow待办事项
- 在线服务鉴权
- 创建在线服务包
- 获取Execution列表
- 新建Workflow Execution
- 删除Workflow Execution
- 查询Workflow Execution
- 更新Workflow Execution
- 管理Workflow Execution
- 管理Workflow StepExecution
- 获取Workflow工作流节点度量信息
- 新建消息订阅Subscription
- 删除消息订阅Subscription
- 查询消息订阅Subscription详情
- 更新消息订阅Subscription
- 创建工作流定时调度
- 查询工作流定时调度详情
- 删除工作流定时调度信息
- 更新工作流定时调度信息
-
开发环境管理
- 创建Notebook实例
- 查询Notebook实例列表
- 查询所有Notebook实例列表
- 查询Notebook实例详情
- 更新Notebook实例
- 删除Notebook实例
- 通过运行的实例保存成容器镜像
- 查询Notebook支持的有效规格列表
- 查询Notebook支持的可切换规格列表
- 查询运行中的Notebook可用时长
- Notebook时长续约
- 启动Notebook实例
- 停止Notebook实例
- 获取动态挂载OBS实例信息列表
- 动态挂载OBS
- 获取动态挂载OBS实例详情
- 动态卸载OBS
- 添加资源标签
- 删除资源标签
- 查询Notebook资源类型下的标签
- 查询支持的镜像列表
- 注册自定义镜像
- 查询用户镜像组列表
- 查询镜像详情
- 删除镜像
-
训练管理
- 创建算法
- 查询算法列表
- 查询算法详情
- 更新算法
- 删除算法
- 获取支持的超参搜索算法
- 创建训练实验
- 创建训练作业
- 查询训练作业详情
- 更新训练作业描述
- 删除训练作业
- 终止训练作业
- 查询训练作业指定任务的日志(预览)
- 查询训练作业指定任务的日志(OBS链接)
- 查询训练作业指定任务的运行指标
- 查询训练作业列表
- 查询超参搜索所有trial的结果
- 查询超参搜索某个trial的结果
- 获取超参敏感度分析结果
- 获取某个超参敏感度分析图像的路径
- 提前终止自动化搜索作业的某个trial
- 获取自动化搜索作业yaml模板的信息
- 获取自动化搜索作业yaml模板的内容
- 创建训练作业标签
- 删除训练作业标签
- 查询训练作业标签
- 获取训练作业事件列表
- 创建训练作业镜像保存任务
- 查询训练作业镜像保存任务
- 获取训练作业支持的公共规格
- 获取训练作业支持的AI预置框架
- AI应用管理
- APP认证管理
- 服务管理
- 资源管理
- DevServer管理
- 授权管理
- 工作空间管理
- 配额管理
- 资源标签管理
- 节点池管理
- 应用示例
- 权限策略和授权项
- 公共参数
-
历史API
-
数据管理(旧版)
- 查询数据集列表
- 创建数据集
- 查询数据集详情
- 更新数据集
- 删除数据集
- 查询数据集的统计信息
- 查询数据集监控数据
- 查询数据集的版本列表
- 创建数据集标注版本
- 查询数据集版本详情
- 删除数据集标注版本
- 查询样本列表
- 批量添加样本
- 批量删除样本
- 查询单个样本信息
- 获取样本搜索条件
- 分页查询团队标注任务下的样本列表
- 查询团队标注的样本信息
- 查询数据集标签列表
- 创建数据集标签
- 批量修改标签
- 批量删除标签
- 按标签名称更新单个标签
- 按标签名称删除标签及仅包含此标签的文件
- 批量更新样本标签
- 查询数据集的团队标注任务列表
- 创建团队标注任务
- 查询团队标注任务详情
- 启动团队标注任务
- 更新团队标注任务
- 删除团队标注任务
- 创建团队标注验收任务
- 查询团队标注验收任务报告
- 更新团队标注验收任务状态
- 查询团队标注任务统计信息
- 查询团队标注任务成员的进度信息
- 团队成员查询团队标注任务列表
- 提交验收任务的样本评审意见
- 团队标注审核
- 批量更新团队标注样本的标签
- 查询标注团队列表
- 创建标注团队
- 查询标注团队详情
- 更新标注团队
- 删除标注团队
- 向标注成员发送邮件
- 查询所有团队的标注成员列表
- 查询标注团队的成员列表
- 创建标注团队的成员
- 批量删除标注团队成员
- 查询标注团队成员详情
- 更新标注团队成员
- 删除标注团队成员
- 查询数据集导入任务列表
- 创建导入任务
- 查询数据集导入任务的详情
- 查询数据集导出任务列表
- 创建数据集导出任务
- 查询数据集导出任务的状态
- 同步数据集
- 查询数据集同步任务的状态
- 查询智能标注的样本列表
- 查询单个智能标注样本的信息
- 分页查询智能任务列表
- 启动智能任务
- 获取智能任务的信息
- 停止智能任务
- 查询处理任务列表
- 创建处理任务
- 查询数据处理的算法类别
- 查询处理任务详情
- 更新处理任务
- 删除处理任务
- 查询数据处理任务的版本列表
- 创建数据处理任务版本
- 查询数据处理任务的版本详情
- 删除数据处理任务的版本
- 查询数据处理任务版本的结果展示
- 停止数据处理任务的版本
- 开发环境(旧版)
- 训练管理(旧版)
-
数据管理(旧版)
- SDK参考
- 场景代码示例
-
故障排除
- 通用问题
- 自动学习
-
开发环境
- 环境配置故障
- 实例故障
- 代码运行故障
- JupyterLab插件故障
-
VS Code连接开发环境失败故障处理
- 在ModelArts控制台界面上单击VS Code接入并在新界面单击打开,未弹出VS Code窗口
- 在ModelArts控制台界面上单击VS Code接入并在新界面单击打开,VS Code打开后未进行远程连接
- VS Code连接开发环境失败时的排查方法
- 远程连接出现弹窗报错:Could not establish connection to xxx
- 连接远端开发环境时,一直处于"Setting up SSH Host xxx: Downloading VS Code Server locally"超过10分钟以上,如何解决?
- 连接远端开发环境时,一直处于"Setting up SSH Host xxx: Copying VS Code Server to host with scp"超过10分钟以上,如何解决?
- 远程连接处于retry状态如何解决?
- 报错“The VS Code Server failed to start”如何解决?
- 报错“Permissions for 'x:/xxx.pem' are too open”如何解决?
- 报错“Bad owner or permissions on C:\Users\Administrator/.ssh/config”如何解决?
- 报错“Connection permission denied (publickey)”如何解决
- 报错“ssh: connect to host xxx.pem port xxxxx: Connection refused”如何解决?
- 报错"ssh: connect to host ModelArts-xxx port xxx: Connection timed out"如何解决?
- 报错“Load key "C:/Users/xx/test1/xxx.pem": invalid format”如何解决?
- 报错“An SSH installation couldn't be found”或者“Could not establish connection to instance xxx: 'ssh' ...”如何解决?
- 报错“no such identity: C:/Users/xx /test.pem: No such file or directory”如何解决?
- 报错“Host key verification failed.'或者'Port forwarding is disabled.”如何解决?
- 报错“Failed to install the VS Code Server.”或“tar: Error is not recoverable: exiting now.”如何解决?
- VS Code连接远端Notebook时报错“XHR failed”
- VS Code连接后长时间未操作,连接自动断开
- VS Code自动升级后,导致远程连接时间过长
- 使用SSH连接,报错“Connection reset”如何解决?
- 使用MobaXterm工具SSH连接Notebook后,经常断开或卡顿,如何解决?
- VS Code连接开发环境时报错Missing GLIBC,Missing required dependencies
- 使用VSCode-huawei,报错:卸载了‘ms-vscode-remote.remot-sdh’,它被报告存在问题
- 使用VS Code连接实例时,发现VS Code端的实例目录和云上目录不匹配
- VSCode远程连接时卡顿,或Python调试插件无法使用如何处理?
-
自定义镜像故障
- Notebook自定义镜像故障基础排查
- 镜像保存时报错“there are processes in 'D' status, please check process status using 'ps -aux' and kill all the 'D' status processes”或“Buildimge,False,Error response from daemon,Cannot pause container xxx”如何解决?
- 镜像保存时报错“container size %dG is greater than threshold %dG”如何解决?
- 保存镜像时报错“too many layers in your image”如何解决?
- 镜像保存时报错“The container size (xG) is greater than the threshold (25G)”如何解决?
- 镜像保存时报错“BuildImage,True,Commit successfully|PushImage,False,Task is running.”
- 使用自定义镜像创建Notebook后打开没有kernel
- 用户自定义镜像自建的conda环境会查到一些额外的包,影响用户程序,如何解决?
- 用户使用ma-cli制作自定义镜像失败,报错文件不存在(not found)
- 用户使用torch报错Unexpected error from cudaGetDeviceCount
- 其他故障
-
训练作业
- OBS操作相关故障
-
云上迁移适配故障
- 无法导入模块
- 训练作业日志中提示“No module named .*”
- 如何安装第三方包,安装报错的处理方法
- 下载代码目录失败
- 训练作业日志中提示“No such file or directory”
- 训练过程中无法找到so文件
- ModelArts训练作业无法解析参数,日志报错
- 训练输出路径被其他作业使用
- PyTorch1.0引擎提示“RuntimeError: std:exception”
- MindSpore日志提示“ retCode=0x91, [the model stream execute failed]”
- 使用moxing适配OBS路径,pandas读取文件报错
- 日志提示“Please upgrade numpy to >= xxx to use this pandas version”
- 重装的包与镜像装CUDA版本不匹配
- 创建训练作业提示错误码ModelArts.2763
- 训练作业日志中提示 “AttributeError: module '***' has no attribute '***'”
- 系统容器异常退出
- 硬盘限制故障
- 外网访问限制
- 权限问题
- GPU相关问题
-
业务代码问题
- 日志提示“pandas.errors.ParserError: Error tokenizing data. C error: Expected .* fields”
- 日志提示“max_pool2d_with_indices_out_cuda_frame failed with error code 0”
- 训练作业失败,返回错误码139
- 训练作业失败,如何使用开发环境调试训练代码?
- 日志提示“ '(slice(0, 13184, None), slice(None, None, None))' is an invalid key”
- 日志报错“DataFrame.dtypes for data must be int, float or bool”
- 日志提示“CUDNN_STATUS_NOT_SUPPORTED. ”
- 日志提示“Out of bounds nanosecond timestamp”
- 日志提示“Unexpected keyword argument passed to optimizer”
- 日志提示“no socket interface found”
- 日志提示“Runtimeerror: Dataloader worker (pid 46212 ) is killed by signal: Killed BP”
- 日志提示“AttributeError: 'NoneType' object has no attribute 'dtype'”
- 日志提示“No module name 'unidecode'”
- 分布式Tensorflow无法使用“tf.variable”
- MXNet创建kvstore时程序被阻塞,无报错
- 日志出现ECC错误,导致训练作业失败
- 超过最大递归深度导致训练作业失败
- 使用预置算法训练时,训练失败,报“bndbox”错误
- 训练作业进程异常退出
- 训练作业进程被kill
- 预置算法运行故障
- 训练作业运行失败
- 专属资源池创建训练作业
- 训练作业性能问题
- Ascend相关问题
-
推理部署
-
模型管理
- 创建模型失败,如何定位和处理问题?
- 导入模型提示该账号受限或者没有操作权限
- 用户创建模型时构建镜像或导入文件失败
- 创建模型时,OBS文件目录对应镜像里面的目录结构是什么样的?
- 通过OBS导入模型时,如何编写打印日志代码才能在ModelArts日志查询界面看到日志
- 通过OBS创建模型时,构建日志中提示pip下载包失败
- 通过自定义镜像创建模型失败
- 导入模型后部署服务,提示磁盘不足
- 创建模型成功后,部署服务报错,如何排查代码问题
- 自定义镜像导入配置运行时依赖无效
- 通过API接口查询模型详情,model_name返回值出现乱码
- 导入模型提示模型或镜像大小超过限制
- 导入模型提示单个模型文件超过5G限制
- 订阅的模型一直处于等待同步状态
- 创建模型失败,提示模型镜像构建任务超时,没有构建日志
-
服务部署
- 自定义镜像模型部署为在线服务时出现异常
- 部署的在线服务状态为告警
- 服务启动失败
- 服务部署、启动、升级和修改时,拉取镜像失败如何处理?
- 服务部署、启动、升级和修改时,镜像不断重启如何处理?
- 服务部署、启动、升级和修改时,容器健康检查失败如何处理?
- 服务部署、启动、升级和修改时,资源不足如何处理?
- 模型使用CV2包部署在线服务报错
- 服务状态一直处于“部署中”
- 服务启动后,状态断断续续处于“告警中”
- 服务部署失败,报错No Module named XXX
- IEF节点边缘服务部署失败
- 批量服务输入/输出obs目录不存在或者权限不足
- 部署在线服务出现报错No CUDA runtime is found
- 使用AI市场物体检测YOLOv3_Darknet53算法训练后部署在线服务报错
- 使用预置AI算法部署在线服务报错gunicorn:error:unrecorgized arguments
- 内存不足如何处理?
- 服务预测
-
模型管理
- MoXing
- API/SDK
- 资源池
-
Lite Server
- GPU裸金属服务器使用EulerOS内核误升级如何解决
- GPU A系列裸金属服务器无法获取显卡如何解决
- GPU裸金属服务器无法Ping通如何解决
- GPU A系列裸金属服务器RoCE带宽不足如何解决?
- GPU裸金属服务器更换NVIDIA驱动后执行nvidia-smi提示Failed to initialize NVML
- 训练速度突然下降以及执行nvidia-smi卡顿如何解决?
- GP Vnt1裸金属服务器用PyTorch报错CUDA initialization:CUDA unknown error
- 使用SFS盘出现报错rpc_check_timeout:939 callbacks suppressed
- 华为云CCE集群纳管GPU裸金属服务器由于CloudInit导致纳管失败的解决方案
- GPU A系列裸金属服务器使用CUDA cudaGetDeviceCount()提示CUDA initializat失败
- 裸金属服务器Euler OS升级NetworkManager-config-server导致SSH链接故障解决方案
- Lite Cluster
-
常见问题
- 权限相关
- 存储相关
- Standard自动学习
- Standard Workflow
-
Standard数据准备
- 在ModelArts数据集中添加图片对图片大小有限制吗?
- 如何将本地标注的数据导入ModelArts?
- 在ModelArts中数据标注完成后,标注结果存储在哪里?
- 在ModelArts中如何将标注结果下载至本地?
- 在ModelArts中进行团队标注时,为什么团队成员收不到邮件?
- ModelArts团队标注的数据分配机制是什么?
- 如何将两个ModelArts数据集合并?
- 在ModelArts中同一个账户,图片展示角度不同是为什么?
- 在ModelArts中智能标注完成后新加入数据需要重新训练吗?
- 在ModelArts中如何将图片划分到验证集或者训练集?
- 在ModelArts中物体检测标注时能否自定义标签?
- ModelArts数据集新建的版本找不到怎么办?
- 如何切分ModelArts数据集?
- 如何删除ModelArts数据集中的图片?
-
Standard Notebook
- ModelArts的Notebook是否支持Keras引擎?
- 如何在ModelArts的Notebook中上传下载OBS文件?
- ModelArts的Notebook实例upload后,数据会上传到哪里?
- 在ModelArts中如何将Notebook A的数据复制到Notebook B中?
- 在ModelArts的Notebook中如何对OBS的文件重命名?
- 在ModelArts的Notebook中如何使用pandas库处理OBS桶中的数据?
- 在ModelArts的Notebook中,如何访问其他账号的OBS桶?
- 在ModelArts的Notebook中JupyterLab默认工作路径是什么?
- 如何查看ModelArts的Notebook使用的cuda版本?
- 在ModelArts的Notebook中如何获取本机外网IP?
- ModelArts的Notebook有代理吗?如何关闭?
- 在ModelArts的Notebook中内置引擎不满足使用需要时,如何自定义引擎IPython Kernel?
- 在ModelArts的Notebook中如何将git clone的py文件变为ipynb文件?
- 在ModelArts的Notebook实例重启时,数据集会丢失吗?
- 在ModelArts的Notebook的Jupyterlab可以安装插件吗?
- 在ModelArts的Notebook的CodeLab中能否使用昇腾卡进行训练?
- 如何在ModelArts的Notebook的CodeLab上安装依赖?
- 在ModelArts的Notebook中安装远端插件时不稳定要怎么办?
- 在ModelArts的Notebook中实例重新启动后要怎么连接?
- 在ModelArts的Notebook中使用VS Code调试代码无法进入源码怎么办?
- 在ModelArts的Notebook中使用VS Code如何查看远端日志?
- 在ModelArts的Notebook中如何打开VS Code的配置文件settings.json?
- 在ModelArts的Notebook中如何设置VS Code背景色为豆沙绿?
- 在ModelArts的Notebook中如何设置VS Code远端默认安装的插件?
- 在ModelArts的VS Code中如何把本地插件安装到远端或把远端插件安装到本地?
- 在ModelArts的Notebook中,如何使用昇腾多卡进行调试?
- 在ModelArts的Notebook中使用不同的资源规格训练时为什么训练速度差不多?
- 在ModelArts的Notebook中使用MoXing时,如何进行增量训练?
- 在ModelArts的Notebook中如何查看GPU使用情况?
- 在ModelArts的Notebook中如何在代码中打印GPU使用信息?
- 在ModelArts的Notebook中JupyterLab的目录、Terminal的文件和OBS的文件之间的关系是什么?
- 如何在ModelArts的Notebook实例中使用ModelArts数据集?
- pip介绍及常用命令
- 在ModelArts的Notebook中不同规格资源/cache目录的大小是多少?
- 资源超分对在ModelArts的Notebook实例有什么影响?
- 如何在Notebook中安装外部库?
- 在ModelArts的Notebook中,访问外网速度不稳定怎么办?
-
Standard模型训练
- 在ModelArts训练得到的模型欠拟合怎么办?
- 在ModelArts中训练好后的模型如何获取?
- 在ModelArts上如何获得RANK_TABLE_FILE用于分布式训练?
- 在ModelArts上训练模型如何配置输入输出数据?
- 在ModelArts上如何提升训练效率并减少与OBS的交互?
- 在ModelArts中使用Moxing复制数据时如何定义路径变量?
- 在ModelArts上如何创建引用第三方依赖包的训练作业?
- 在ModelArts训练时如何安装C++的依赖库?
- 在ModelArts训练作业中如何判断文件夹是否复制完毕?
- 如何在ModelArts训练作业中加载部分训练好的参数?
- ModelArts训练时使用os.system('cd xxx')无法进入文件夹怎么办?
- 在ModelArts训练代码中,如何获取依赖文件所在的路径?
- 自如何获取ModelArts训练容器中的文件实际路径?
- ModelArts训练中不同规格资源“/cache”目录的大小是多少?
- ModelArts训练作业为什么存在/work和/ma-user两种超参目录?
- 如何查看ModelArts训练作业资源占用情况?
- 如何将在ModelArts中训练好的模型下载或迁移到其他账号?
-
Standard推理部署
- 如何将Keras的.h5格式的模型导入到ModelArts中?
- ModelArts导入模型时,如何编写模型配置文件中的安装包依赖参数?
- 在ModelArts中使用自定义镜像创建在线服务,如何修改端口?
- ModelArts平台是否支持多模型导入?
- 在ModelArts中导入模型对于镜像大小有什么限制?
- ModelArts在线服务和批量服务有什么区别?
- ModelArts在线服务和边缘服务有什么区别?
- 在ModelArts中部署模型时,为什么无法选择Ascend Snt3资源?
- ModelArts线上训练得到的模型是否支持离线部署在本地?
- ModelArts在线服务预测请求体大小限制是多少?
- ModelArts部署在线服务时,如何避免自定义预测脚本python依赖包出现冲突?
- ModelArts在线服务预测时,如何提高预测速度?
- 在ModelArts中调整模型后,部署新版本模型能否保持原API接口不变?
- ModelArts在线服务的API接口组成规则是什么?
- ModelArts在线服务处于运行中时,如何填写request header和request body?
-
Standard镜像相关
- 不在同一个主账号下,如何使用他人的自定义镜像创建Notebook?
- 如何登录并上传镜像到SWR?
- 在Dockerfile中如何给镜像设置环境变量?
- 如何通过docker镜像启动容器?
- 如何在ModelArts的Notebook中配置Conda源?
- ModelArts的自定义镜像软件版本匹配有哪些注意事项?
- 镜像在SWR上显示只有13G,安装少量的包,然后镜像保存过程会提示超过35G大小保存失败,为什么?
- 如何保证自定义镜像能不因为超过35G而保存失败?
- 如何减小本地或ECS构建镜像的目的镜像的大小?
- 镜像过大,卸载原来的包重新打包镜像,最终镜像会变小吗?
- 在ModelArts镜像管理注册镜像报错ModelArts.6787怎么处理?
- 用户如何设置默认的kernel?
- Standard专属资源池
- Studio
- Edge
- API/SDK
- Lite Server
- Lite Cluster
- 历史文档待下线
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
使用ModelArts VSCode插件调试训练ResNet50图像分类模型
应用场景
Notebook等线上开发工具工程化开发体验不如IDE,但是本地开发服务器等资源有限,运行和调试环境大多使用团队公共搭建的CPU或GPU服务器,并且是多人共用,这带来一定的环境搭建和维护成本。因此使用本地IDE+远程Notebook结合的方式,可以同时享受IDE工程化开发和云上资源的即开即用,优势互补,满足开发者需求。
VS Code在Python项目开发中提供了优秀的代码编辑、调试、远程连接和同步能力,在开发者中广受欢迎。本文以Ascend Model Zoo为例,介绍如何通过VS Code插件及ModelArts Notebook进行云端数据调试及模型开发。
方案优势
云端开发调试优势:
- 环境保持一致
- 配置一键完成
- 代码远程调试
- 资源按需使用
准备工作
- 下载VS Code IDE,下载路径:开源Visual Studio Code。根据不同的操作系统选择不同的安装包。
- 创建Notebook实例。
- 登录ModelArts控制台,单击左侧导航“开发环境 > Notebook”,然后单击“创建”。
镜像选择“mindspore1.7.0-cann5.1.0-py3.7-euler2.8.3”,类型选择“ASCEND”,并打开“SSH远程开发”开关,密钥对选择已有的或单击“立即创建”。
- Notebook创建后,“状态”为“运行中”。单击“操作”列的“打开”,进入JupyterLab,然后参考下图打开Terminal。
图1 打开Terminal
- 登录ModelArts控制台,单击左侧导航“开发环境 > Notebook”,然后单击“创建”。
- 下载项目代码。
在Terminal执行如下命令下载项目代码。本例中,以图像分类模型resnet50模型为例。下载后的文件如图2所示,代码所在路径为“./models/official/cv/resnet/”。
# 下载代码 git clone https://gitee.com/mindspore/models.git -b v1.5.0
- 下载花卉识别数据集。
在Terminal里执行如下命令下载并解压数据集,将数据集保存在“./models/dataset/flower_photos”文件夹。
cd models mkdir dataset cd dataset wget http://download.tensorflow.org/example_images/flower_photos.tgz tar zxvf flower_photos.tgz
步骤1:通过VS Code插件连接云端Notebook
通过VS Code插件连接准备工作里创建的云端Notebook,详细操作请参考VS Code一键连接Notebook。
步骤2:安装Python插件以及配置入参
- 打开VS Code工具,单击“Extensions”,搜索python,然后单击“Install”。
图3 安装Python
- 输入Ctrl+Shirt+P,搜索“python:select interpreter”,选择Python解释器。
图4 选择python解释器
- 单击“RUN > Add Configuration...” 选择Python > Python File,填入如下代码。
如果文件已创建,单击“RUN > Open Configurations”,填入如下代码。
# 根据README说明文档,配置的Parameter入参如下,其中device_target="CPU"表示CPU环境运行,device_target="Ascend"表示在Ascend环境运行
"configurations": [ { "name": "Python: Django Debug Single Test", "type": "python", "request": "launch", "program": "${file}", "args":[ "--net_name", "resnet50", "--dataset", "imagenet2012", "--data_path", "/home/ma-user/work/models/dataset/flower_photos/", "--class_num", "5", "--config_path", "/home/ma-user/work/models/official/cv/resnet/config/resnet50_imagenet2012_config.yaml", "--epoch_size", "1", "--device_target","Ascend" ] } ]
步骤3:在VS Code中远程调试代码
- 参考准备工作上传本地代码和数据至云端Notebook。
- 云端Notebook安装依赖。
在本地IDE中打开“Terminal > New Terminal”,执行如下命令。
pip install -r /home/ma-user/work/models/official/cv/resnet/requirements.txt
图5 执行命令 - 云端调试与运行。
- 打开训练文件。文件所在路径为“/home/ma-user/work/models/official/cv/resnet/train.py”
- 代码调测:在需要调测点打断点,然后单击“RUN > Start Debugging”。
- 代码运行:单击“RUN > Run Without Debugging”,运行结果如下:
图6 代码运行结果
步骤4:保存开发环境镜像
完成Notebook调测后,此时的Notebook已经包含了模型训练所有的依赖环境,因此可以将已经调测完成的开发环境保存成一个镜像。
- 方式一:保存镜像需要指定镜像名称、镜像标签、SWR服务的组织等信息,保存镜像需要等待几分钟时间,期间不能对Notebook有额外操作。
SWR服务的组织可以在SWR服务中进行创建,也可以使用SDK创建默认的SWR组织,默认最多只能创建5个组织。
- 在“/home/ma-user/work/models/official/cv/resnet/”下创建save_image.py,
- 复制代码至save_image.py,
- 运行save_image.py,进行保存镜像。
save_image.py代码如下:
# save_image.py # 导入ModelArts SDK的依赖,并初始化Session,此处的ak、sk、project_id、region_name请替换成用户自己的信息 from modelarts.session import Session # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***') # 保存notebook镜像 from modelarts.image_mgmt import ImageSave from modelarts.service import SWRManagement # 创建一个镜像组织。如果组织数量已超过阈值,则会报错“namespace is invalid”,需要删除一个组织或手动指定一个已有的组织信息(使用image_organization = “your-swr-namespace-name”指定) image_organization = SWRManagement(session).get_default_namespace() # image_organization = “your-swr-namespace-name” print("Default image_organization:", image_organization) image_name = "mindspore-image-models-image" #@param {type:"string"} image_tag = "1.0.0" #@param {type:"string"} image_save = ImageSave(session=session, name=image_name, tag=image_tag, organization=image_organization) image_save.save()
- 方式二:在ModelArts控制台单击“保存镜像”。
在Notebook列表中,对于要保存的Notebook实例,单击右侧“操作”列的“更多 > 保存镜像”,进入“保存镜像”页面,设置组织、镜像名称、镜像版本和描述信息后单击“确认”保存镜像。此时Notebook会冻结,需要等待几分钟。详细操作请参考保存Notebook镜像环境。
图7 保存镜像
查看所保存的镜像
保存后的镜像可以在ModelArts控制台“镜像管理”页面查看到该镜像详情。单击镜像的名称,进入镜像详情页,可以查看镜像版本/ID,状态,资源类型,镜像大小,SWR地址等。
步骤5:使用SDK提交训练作业
本地调测完成后可以提交训练作业。因为数据在Notebook中,设置InputData中“is_local_source”的参数为“True”,会自动将本地数据同步上传到OBS中。
步骤如下:
- 在“/home/ma-user/work/models/official/cv/resnet/”下创建train_notebook.py,
- 复制代码至train_notebook.py,
- 运行train_notebook.py,进行训练作业提交。
# train_notebook.py # 导入ModelArts SDK的依赖,并初始化Session,此处的ak、sk、project_id、region_name请替换成用户自己的信息 from modelarts.train_params import TrainingFiles from modelarts.train_params import OutputData from modelarts.train_params import InputData from modelarts.estimatorV2 import Estimator from modelarts.session import Session # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***') # 样例中为了方便默认创建一个OBS桶,推荐将调测所需要传输的文件统一放到`${default_bucket}/intermidiate`目录下,也可以按照注释代码自行指定 obs_bucket = session.obs.get_default_bucket() print("Default bucket name: ", obs_bucket) default_obs_dir = f"{obs_bucket}/intermidiate" #default_obs_dir = "obs://your-bucket-name/folder-name" # 本地的工程代码文件夹路径 code_dir_local = "/home/ma-user/work/models/official/cv/resnet/" #@param {type:"string"} # 代码的启动文件名称 boot_file = "train.py" #@param {type:"string"} train_file = TrainingFiles(code_dir=code_dir_local, boot_file=boot_file) # 本地数据集路径 local_data_path = "/home/ma-user/work/models/dataset/flower_photos" #@param {type:"string"} # 模型输出保存路径 output_local = "/home/ma-user/work/models/official/cv/resnet/output" #@param {type:"string"} # 模拟训练过程中模型输出回传至指定OBS的路径,需要以"/"结尾 obs_output_path = f"{default_obs_dir}/mindspore_model/output/" # 指定一个obs路径用于存储输出结果 output = [OutputData(local_path=output_local, obs_path=obs_output_path, name="output")] # 模拟训练过程中模训练日志回传至指定OBS的路径,需要以"/"结尾 log_obs_path = f"{default_obs_dir}/mindspore_model/logs/" # 训练所需的代码路径,代码会自动从本地上传至OBS code_obs_path = f"{default_obs_dir}/mindspore_model/" data_obs_path = f"{default_obs_dir}/dataset/flower_photos/" # sdk会将代码自动上传至OBS,并同步到训练环境 train_file = TrainingFiles(code_dir=code_dir_local, boot_file=boot_file, obs_path=code_obs_path) # 指定OBS中的数据集路径,会自动将local_path数据上传至obs_path,用户可以在代码中通过 --data_url接收这个数据集路径 input_data = InputData(local_path=local_data_path, obs_path=data_obs_path, is_local_source=True, name="data_url") from modelarts.service import SWRManagement image_organization = SWRManagement(session).get_default_namespace() # image_organization = "your-swr-namespace-name" print("Default image_organization:", image_organization) image_name = "mindspore-image-models-image" #@param {type:"string"} image_tag = "1.0.0" #@param {type:"string"} import os ENV_NAME=os.getenv('ENV_NAME') # 启动训练作业:使用user_command(shell命令)方式启动训练作业 # 注意:训练启动默认的工作路径为"/home/ma-user/modelarts/user-job-dir",而代码上传路径为"./resnet/${code_dir}"下 # --enable_modelarts=True 该代码仓已适配ModelArts estimator = Estimator(session=session, training_files=train_file, outputs=output, user_image_url=f"{image_organization}/{image_name}:{image_tag}", # 自定义镜像swr地址,由镜像仓库组织/镜像名称:镜像tag组成 user_command=f'cd /home/ma-user/modelarts/user-job-dir/ && /home/ma-user/anaconda3/envs/MindSpore/bin/python ./resnet/train.py --net_name=resnet50 --dataset=imagenet2012 --enable_modelarts=True --class_num=5 --config_path=./resnet/config/resnet50_imagenet2012_config.yaml --epoch_size=10 --device_target="Ascend" --enable_modelarts=True', # 执行训练命令 train_instance_type="modelarts.p3.large.public", # 虚拟资源规格,不同region的资源规格可能不同,请参考“Estimator参数说明”表下的说明查询修改 train_instance_count=1, # 节点数,适用于多机分布式训练,默认是1 #pool_id='若指定专属池,替换为页面上查到的poolId',同时修改资源规格为专属池专用的虚拟子规格 log_url=log_obs_path ) # job_name是可选参数,可不填随机生成工作名 job_instance = estimator.fit(inputs=[input_data], job_name="modelarts_training_job_with_sdk_by_command_v01")
参数名称 |
参数说明 |
---|---|
session |
modelarts session |
training_files |
训练代码的路径和启动文件 |
user_image_url |
自定义镜像swr地址,由镜像仓库组织/镜像名称:镜像tag组成 |
user_command |
执行训练命令 |
train_instance_type |
本地调测'local'或云端资源规格。每个region的资源规格可能是不同的,可以通过下述说明查询对应的资源规格信息。 |
train_instance_count |
节点数 |
log_url |
日志输出路径 |
job_name |
作业名称,不可以重复 |
![](https://support.huaweicloud.com/bestpractice-modelarts/public_sys-resources/note_3.0-zh-cn.png)
train_instance_type表示训练的资源规格,每个region的资源规格可能是不同的。通过如下方法查询资源规格:
- 公共资源池执行如下命令查询
from modelarts.session import Session from modelarts.estimatorV2 import Estimator from pprint import pprint # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***') info = Estimator.get_train_instance_types(session=session) pprint(info)
- 专属池规格
ModelArts专属资源池统一使用虚拟子规格,不区分GPU和Ascend。资源规格参考表2查询。
步骤6:清除资源
Notebook在代码调试完成及提交训练作业后就可以关闭了,减少资源扣费。
当调测完成且实例处于运行状态时,单击停止;
当下次调测且实例处于停止状态时,单击启动实例,随开随用。
训练输出保存结构说明
ModelArts训练作业的模型输出和日志信息会定时同步到指定的OBS中,本示例中模型输出路径和日志输出路径分别为f"{default_obs_dir}/mindspore_model/output/"和f"{default_obs_dir}/mindspore_model/logs/",用户可以在OBS中查看训练输出信息。
本示例中训练输出保存在OBS的目录结构如下所示:
${your_bucket} └── intermidiate ├── dataset │ └── flower_photos │ └── flower_photos.zip └── mindspore_model ├── logs │ └── xxx-xxx-xxx--0.log ├── output │ └── 20220627-105226-resnet50-224 └── mindspore-image-models.zip
提交训练作业常见问题
- 报错信息:Exception: You have attempted to create more buckets than allowed
原因分析:由于桶的数量多于限额,无法自动创建。
解决方法:用户可以删除一个桶,或者直接指定一个已存在的桶(修改变量obs_bucket的值)。
- 报错信息:"errorMessage":"The number of namespaces exceeds the upper limit"或"namespace is invalid"
原因分析:SWR组织数限额,SWR组织默认最多只能创建5个组织。
解决方法:用户可以删除一个SWR组织,或者直接指定一个已存在的SWR组织(修改变量image_organization的值)。
- 报错信息:standard_init_linux.go:224: exec user process caused "exet format error"
原因分析:可能由于训练规格错误导致训练作业卡死。
解决方法:请参考说明查询资源规格。
- 报错信息:报错镜像失败,报错:401,'Unauthorized',b'{errors":[{"errorCode":"SVCSTG.SWR.4010000",errorMessage":"Authenticate Error",……}]
原因分析:远程连接Notebook时需要输入鉴权信息。
解决方法:传入AK,SK信息。
1 2 3 4 5 6
# 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***')