首页 > 其他分享 >轻松调试,让报错无处遁形 |昇思MindSpore报错调试宝典(五):网络构建与训练类报错之算子执行错误

轻松调试,让报错无处遁形 |昇思MindSpore报错调试宝典(五):网络构建与训练类报错之算子执行错误

时间:2023-06-12 15:56:35浏览次数:43  
标签:遁形 调试 报错 MindSpore 算子 images mindspore size

上一期讲解了由于输入参数不符合要求、算子功能不支持等算子编译错误问题该如何定位解决,那么在算子执行的时候也会遇到很多报错,比如输入数据异常、算子实现错误、功能限制、资源限制等问题,遇到这类情形我们正常可以采用类比的分析方法,本期以mindspore.ops.ResizeBicubic算子内部数据没有进行定义进而导致输出异常为例来讲解下如何定位问题并解决报错。

 

详细内容请查看海报~

MindSpore%E6%8A%A5%E9%94%99%E8%B0%83%E8%AF%95%E5%AE%9D%E5%85%B8%EF%BC%88%E4%BA%94%EF%BC%89%20(1).png

 

文字内容:

小孢子:你好呀,昇思MindSpore,我们又见面了!这次通过调用mindspore.ops.ResizeBicubic算子接口调整图像大小时遇到了报错,能帮我分析看看如何debug不?

MindSpore: 当然没问题!照旧先看看你的环境信息、脚本代码与报错~

小孢子:系统环境信息:


Hardware Environment(Ascend/GPU/CPU): CPU Software Environment: -- MindSpore version (source or binary): 2.0.0-alpha -- Python version (e.g., Python 3.7.5): 3.7.5 -- OS platform and distribution (e.g., Linux Ubuntu 16.04): Ubuntu 4.15.0-74-generic

训练脚本(使用插值调整图像大小):


01 import mindspore 02 from mindspore import Tensor 03 import mindspore.ops as ops 04 05 resize_bicubic_op = ops.ResizeBicubic(align_corners=True,half_pixel_centers=False) 06 images = Tensor(x_np) 07 size = Tensor(size, mindspore.int32) 08 output = resize_bicubic_op(images, size) 09 print(output.asnumpy())

报错信息:


    Traceback (most recent call last):       File "< doctest_example.txt[4]>", line 1, in <module>         images = Tensor(x_np) NameError: name 'x_np' is not defined  #①       File "< doctest_example.txt[5]>", line 1, in <module>         size = Tensor(size, mindspore.int32) NameError: name 'size' is not defined #②       File "< doctest_example.txt[6]>", line 1, in <module>         output = resize_bicubic_op(images, size) NameError: name 'images' is not defined #③       File "< doctest_example.txt[7]>", line 1, in <module>         print(output.asnumpy()) NameError: name 'output' is not defined #④

MindSpore:首先我们查看报错信息,①中的异常是由于‘images = Tensor(x_np)’这段代码引起的,主要是命名定义类的错误,‘x_np’没有被赋予定义,同理②和③的错误异常也是由于‘size’、‘images’是没有被定义的,而④中‘output’的报错是由于前面的‘images’没有定义,这样‘output = resize_bicubic_op(images, size)’这段代码就无法执行,从而导致最后的‘print(output.asnumpy())’无法输出结果;换句话说,由于定义的缺失导致mindspore.ops.ResizeBicubic算子缺少了一些输入,进而打印不出输出结果并产生报错。

小孢子:那我知道解决办法啦,既然缺少定义那就直接都给他们定义完整就行啦!这个我会!

修改后的正确代码如下:


01 import mindspore 02 from mindspore import Tensor 03 from mindspore import ops 04 05 x_np = np.array([1, 2, 3, 4]).astype(np.float32).reshape(1, 1, 2, 2) 06 size = (1, 4) 07 images = Tensor(x_np) 08 size = Tensor(size, mindspore.int32) 09 resize_bicubic_op = ops.ResizeBicubic(align_corners=True, half_pixel_centers=False) 10 output = resize_bicubic_op(images, size) 11 print(output.asnumpy())

MindSpore:你还真是一点就通!所以这个时候执行打印结果一定是符合预期的。

小孢子:对的!你快看执行结果:


 [[[[1. 1.3144622 1.6855378 2.]]]]

MindSpore:因此今天这个报错问题首先需要结合报错信息和打印结果,发现错误是由于算子未定义本身引起的,进而可以定位问题并修改出错,同时也提醒了我们需要关注变量定义、初始化的正确性。

小孢子:我记住啦!算子执行过程中也要考虑到方方面面才能避免出错!不多说啦,我要回去研究研究资源不足导致的报错咯~

MindSpore:好呀,下次我们交流这个问题!

小孢子:好的!期待下次见面!

 

报错地图:https://www.hiascend.com/forum/thread-0229108045633055169-1-1.html

 

往期回顾:

昇思MindSpore报错调试宝典(一):数据加载与处理类:https://www.hiascend.com/forum/thread-0215111378750918013-1-1.html

MindSpore报错调试宝典(二):网络构建与训练类报错之context配置问题:https://www.hiascend.com/forum/thread-0227112497811434016-1-1.html

昇思MindSpore报错调试宝典(三):网络构建与训练类报错之语法问题:https://www.hiascend.com/forum/thread-0232113194535560002-1-1.html

昇思MindSpore报错调试宝典(四):网络构建与训练类报错之算子编译错误:https://www.hiascend.com/forum/thread-0203114399255966005-1-1.html

标签:遁形,调试,报错,MindSpore,算子,images,mindspore,size
From: https://www.cnblogs.com/skytier/p/17475244.html

相关文章

  • 定位调试两手抓,报错真的不可怕 | MindSpore报错调试宝典(二):网络构建与训练类报错之cont
    上一期我们讲解了数据加载与处理类报错如何调试解决,今天给大家继续带来网络构建与训练类报错中的context配置问题,本期仍将以案例的形式展开,详细讲解mindspore.set_context算子的使用方法以及配置方法,希望大家在后续使用context算子过程中可以轻松解决相关的报错问题!同时也欢迎大家......
  • 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......