检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于MindSpore Lite的模型转换 迁移推理业务的整体流程如下: 模型准备 转换关键参数准备 模型转换 推理应用适配 主要通过MindSpore Lite(简称MSLite)进行模型的转换,进一步通过MindSpore Runtime支持昇腾后端的能力来将推理业务运行到昇腾设备上。 模型准备 MindSpore
Diffusion模型通过MSLite进行转换后,迁移在昇腾设备上运行。 图7 Stable Diffusion模型迁移到Ascend上进行推理 父主题: GPU推理业务迁移至昇腾的通用指导
本文基于方式二的环境进行操作,请参考方式二中的环境开通和配置指导完成裸机和容器开发初始化配置。注意业务基础镜像选择Ascend+PyTorch镜像。 配置好的容器环境如下图所示: 图1 环境配置完成 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
_diffusion_img2img_mslite.py文件的第454行修改如下: 图2 修改内容 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
场景介绍 本小节通过一个具体问题案例,介绍模型精度调优的过程。 如下图所示,使用MindSpore Lite生成的图像和onnx模型的输出结果有明显的差异,因此需要对MindSpore Lite pipeline进行精度诊断。 图1 结果对比 在MindSpore Lite 2.0
精度问题诊断 逐个替换模型,检测有问题的模型 该方式主要是通过模型替换,先定位出具体哪个模型引入的误差,进一步诊断具体的模型中哪个算子或者操作导致效果问题,模型替换原理如下图所示。通过设置开关选项(是否使用onnx模型),控制模型推理时,模型使用的是onnx模型或是mindir的模型。
日志提示Compile graph failed 问题现象 日志提示:Compile graph failed。 图1 报错提示 原因分析 模型转换时未指定Ascend后端。 处理方法 需要在模型转换阶段指定“--device=Ascend”。 父主题: 常见问题
t侧系统数据和采集和解析能力。面向推理的场景,可以对于模型的执行性能数据进行收集,可基于收集的性能数据进行性能分析。 父主题: GPU推理业务迁移至昇腾的通用指导
生成的图片fantasy_landscape.png会保存在当前路径下,该图片也可以作为后期精度校验的一个对比。 图2 生成图片 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
精度问题处理 设置高精度并重新转换模型 在转换模型时,默认采用的精度模式是fp16,如果转换得到的模型和标杆数据的精度差异比较大,可以使用fp32精度模式提升模型的精度(精度模式并不总是需要使用fp32,因为相对于fp16,fp32的性能较差。因此,通常只在检测到某个模型精度存在
GPU业务迁移至昇腾训练推理 基于AIGC模型的GPU推理业务迁移至昇腾指导 GPU推理业务迁移至昇腾的通用指导
pipeline代码适配 onnx pipeline的主要作用是将onnx模型进行一系列编排,并在onnx Runtime上按照编排顺序执行。因此,需要将转换得到的mindir模型按照相同的逻辑进行编排,并在MindSpore Lite上执行。只需要将原始onnx的pipelin
单模型性能测试工具Mindspore lite benchmark 在模型精度对齐后,针对Stable Diffusion模型性能调优,可以通过AOE工具进行自助性能调优,进一步可以通过profiling工具对于性能瓶颈进行分析,并针对性的做一些调优操作。 可以直接使用bench
日志提示Custom op has no reg_op_name attr 问题现象 日志提示:Custom op has no reg_op_name attr。 图1 报错提示 原因分析 无。 处理方法 定义context时无需指定: context.ascend.provider
get_variable”。 处理方法 请您将“启动文件”中的“tf.variable”替换为“tf.get_variable”。 父主题: 业务代码问题
建议与总结 您可以在训练代码里添加一行: os.system('pip list') 然后运行训练作业,查看日志中是否有所需要的模块。 父主题: 业务代码问题
通过训练日志排查问题 通过日志判断出问题的代码范围。 修改代码,在问题代码段添加打印,输出更详细的日志信息。 再次运行作业,判断出问题的代码段。 父主题: 业务代码问题
environ["NCCL_SOCKET_IFNAME"] = "eth0" 只有当用户的NCCL版本低于2.14时,才需要进行以上设置。 父主题: 业务代码问题
通过训练日志排查问题 通过日志判断出问题的代码范围。 修改代码,在问题代码段添加打印,输出更详细的日志信息。 再次运行作业,判断出问题的代码段。 父主题: 业务代码问题
JupyterLab开发模型。 配置本地IDE(Pycharm或者VSCode)联接云上环境调试请参考使用本地IDE开发模型。 父主题: 业务代码问题