首页 > 其他分享 >定位调试两手抓,报错真的不可怕 | MindSpore报错调试宝典(二):网络构建与训练类报错之context配置问题

定位调试两手抓,报错真的不可怕 | MindSpore报错调试宝典(二):网络构建与训练类报错之context配置问题

时间:2023-06-12 15:45:14浏览次数:46  
标签:报错 调试 context 算子 GPU CPU MindSpore

上一期我们讲解了数据加载与处理类报错如何调试解决,今天给大家继续带来网络构建与训练类报错中的context配置问题,本期仍将以案例的形式展开,详细讲解mindspore.set_context算子的使用方法以及配置方法,希望大家在后续使用context算子过程中可以轻松解决相关的报错问题!同时也欢迎大家多多留言,给我们提提建议!废话不多说,请看下图!

 

%E6%8A%A5%E9%94%99%E5%AE%9D%E5%85%B8(%E4%BA%8C)%E6%9C%9F-%E7%BD%91%E7%BB%9C%E6%9E%84%E5%BB%BA%E4%B8%8E%E8%AE%AD%E7%BB%83%E7%B1%BB%E6%8A%A5%E9%94%99%E4%B9%8Bcontext%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98.png

 

图中引用 [1]:API文档

【昇思MindSpore报错解决地图】常见报错问题和解决方案: https://www.hiascend.com/forum/thread-0229108045633055169-1-1.html

往期内容: 昇思MindSpore报错调试宝典(一):数据加载与处理类

 

 

文字内容:

小孢子:昇思MindSpore,你好呀!我在网络构建中进行模型训练的时候遇到了这样的报错,能麻烦您帮我瞅瞅是啥问题不?

MindSpore: 没问题!先让我看看你的代码内容和报错信息~

小孢子:代码内容是这样的:


from mindspore import context context.set_context(device_target="GPU") # ③

报错信息:


RuntimeError: Unsupported device target GPU. This process only supports one of the ['CPU'].① Please check whether the GPU environment is installed and configured correctly②, and check whether current mindspore wheel package was built with "-e GPU". For details, please refer to "Device load error message".

MindSpore:首先分析你的报错内容,①说明目标设备device_target并不支持GPU,而是支持CPU,②需要检查是否安装了GPU环境。而代码③‘context.set_context(device_target="GPU")’表示设置的device_target为GPU。这类问题在进行demo调试或进行模型训练时很常见。

这样一来的话再给我看看你的环境设置呗~

小孢子:系统环境:


Hardware Environment(Ascend/GPU/CPU): CPU Software Environment: MindSpore version (source or binary): 2.0.0 & Earlier versions Python version (e.g., Python 3.7.5): 3.7.6 OS platform and distribution (e.g., Linux Ubuntu 16.04): Ubuntu GCC/Compiler version (if compiled from source):

MindSpore:那就没错啦!问题定位成功,硬件环境为CPU,说明支持CPU环境,但是代码设定目标设备为GPU,说明脚本设置的运行后端与脚本运行的硬件不匹配,就会出现这样的报错。改成device_target=CPU,那么问题就迎刃而解啦!

当然啦,这个案例仅仅只解决了系统配置中device_target的问题,那么可以拓展一下,通过昇思MindSpore官网查找API文档[1]发现:mindspore.set_context用于进行环境、调试及执行相关的配置,包含很多配置项,每一个选项都有其依赖的执行后端,如果设置有误可能会执行失败或影响程序的正常执行逻辑。

再举个例子:比如想要保存编译过程中的图文件,可以使用`save_graphs= True`选项进行配置,硬件平台CPU/GPU/Ascend都适用,详细使用方法可以参考上述我们提到的API文档[1]。

小孢子:那我就明白啦!遇到这类问题首先需要了解set_context中相关的配置选项,然后找到想要执行的操作并查看后端支持情况,之后再进行相关配置。

MindSpore:是的!你说的这类问题我们统一称之为context配置问题。属于网络构建与训练类报错中的一种,其他的报错还有语法错误、算子编译错误、算子执行错误以及资源不足这四类。

常见错误类型

错误说明

context配置问题

系统进行上下文配置时的错误

语法错误

包括Python语法错误和MindSpore静态图语法错误,例如控制流语法不支持、Tensor切片错误等

算子编译错误

包括算子参数值/类型/shape不满足要求、算子功能限制等

算子执行错误

包括输入数据异常、算子实现错误、功能限制、资源限制等

资源不足

包括设备内存不足、函数调用栈超限、流资源超限等

 

小孢子:明白啦!成年人不做选择,下期大佬给我具体讲讲麻烦语法错误吧!

MindSpore:随时欢迎!

标签:报错,调试,context,算子,GPU,CPU,MindSpore
From: https://www.cnblogs.com/skytier/p/17475170.html

相关文章

  • windbg调试命令3(sx、ld)
    1.sxsx*命令用来控制被调试的程序发生某个异常或特定事件时,调试器要采取的动作sx命令显示当前进程的异常列表和所有非异常的事件列表,并且显示调试器遇到每个异常和事件时的行为。sxr命令将所有异常和事件过滤器的状态重设为默认值。命令被清除、中断和继续选项被重设为默认值,等......
  • 微信小程序设置 本地图片为背景图 报错
    微信小程序通过wxss进行设置背景图报错经查询,发现微信小程序中,将网络图片或base64图片设置为背景图片可正常显示,将本地图片设置为背景图片则不能显示,解决方法有三种,个人采用的是第三种方法。1.本地图片转换为base64格式在线转格式2.使用行内样式<viewclass="flex_view"......
  • Unity-Android真机调试
    一、调试准备开发者模式(准备一部安卓机并且打开开发者模式:一般是多次重复点击版本号打开)开启USB调试(一般是在开发选项里面,把USB调试打开即可)   二、环境配置1.添加AndroidBuildSupport模块2.切换Android平台并且设置Build参数 3.设置Project......
  • Playwright运行报错的解决
    未安装浏览器报错playwright._impl._api_types.Error:Executabledoesn'texistat/home/deploy/.cache/ms-playwright/firefox-1403/firefox/firefox╔═════════════════════════════════════════════════════════......
  • [转]POI 解析excel报错 java.lang.NoClassDefFoundError: org/apache/poi/ss/usermode
    前几天做了一个excel上传导入功能,为了通用想同步支持xls和xlsx格式。代码编写期并没有报错,所需要的类也都有。可是应用启动完测式功能的时候报了这么一个错Causedby:java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/Date1904Support这是为什么呢?我第一感觉是jar......
  • XXL-JOB手工执行任务报错:msg:xxl-rpc remoting error(Connection refused (Connection
    【问题描述】XXL-JOB手工执行任务报错:msg:xxl-rpcremotingerror(Connectionrefused(Connectionrefused)),forurl  【原因分析】 在xxl-job服务端所在的服务器上面去telnetxxl-job所在的客户端服务器的9986端口,提示拒绝连接:对于端口拒绝连接的问题,应该是网络的问......
  • try……except配合traceback模块,进行不报错异常捕获
    通过try语句去尝试做正确的事,如果中途遭遇了意外情况就引发异常提示try:………………………………………………………………return"成功执行"exceptExceptionase:#Handletheexceptiont......
  • gdb+gdbserver远程调试
    gdb+gdbserver远程调试 在开发机器上:安装 VSCodeInsiders,在2019年05月,只有这个版本支持Remote-Development插件安装VSCode扩展“Remote-Development”,方法是左下角 齿轮图标 -> 扩展,直接搜索商店安装兼容OpenSSH的SSH客户端,对于Windows7,......
  • 解决gorm安装报错
    报错:go:modulegrom.io/gorm:Get"https://proxy.golang.org/grom.io/gorm/@v/list":dialtcp142.251.43.17:443:connectex:Aconnectionattemptfailedbecausetheconnectedpartydidnotproperlyrespondafteraperiodoftime,orestablishedconn......
  • NTSD(Command Line)调试DMP格式文件
    前言:之前介绍了利用VS2005进行Dump文件的调试,功能非常强大。但VS2005是一个大程序,本文将讨论利用NTSD的CommandLine 实现Dump 文件的调试。1、  载入DMP格式文件利用CMD打开命令行窗口,切换到NTSD所在目录。利用命令载入DMP文件:ntsd–zdumpfileName–ysymbolPath–srcpath......