• [常见FAQ] AI模型类常见问题解答
    API调用&模型推理定位指南请参考cid:link_0一、模型转换1、常见错误算子Gather的indices不能使用-1,须使用具体的dim。2、GridSample、GridSample3D算子shape推导错误,注意grid的维度应该是[N,2,H,W]或者[N,3,d,H,W],GridSample3D算子的input是6维,MDC特有的ND格式(需要将原来的C拆分成C=C1*C0 C0=16,且C0在最后一维)。二、AICPU算子可以通过查看om中的ATTRIBUTES信息发现该算子是否为AICPU,其中的信息带有AICPU关键字,如下图所示。由于MDC平台没有AICPU,所以推理会报错。(AICPU的推理性能较差)在老版本中,AICPU算子会成功转换出om,但是推理会失败。新版本中,会在ATC转换阶段报错,告诉你某些算子不支持。修复方法:1、推荐首先在torch对应的代码中使用.type(torch.int32)或int()将对应tensor转化为int32类型;(算子需要通过上下文计算片段,定位找到代码中的对应位置)2、索引类操作会出现两个问题:①索引值必须是int64,则像如下代码在[]时使用int64类型;②在索引时可能会插入一些算子帮你实现部分操作(Expand、Concat),那么可以通过Pytorch代码实现int32的相关逻辑,再Cast成int64传给Scatter、Gather;3、直接修改onnx模型,需要注意合理性。a = a.type(torch.int32)a = a.int()# indices在前面使用int32,在输入到[]时使用int64# 由于:的存在,onnx会先将indices做expand操作,再帮你生成前面轴的数据,然后concat到indices上a[:, indices] = ba[:, indices.long()] = b三、模型推理aicore算子执行失败或者超时在/opt/log/aos_linux/hisi_log/debug/device-0/路径下查看device-0的日志,如下图报错表示算子执行超时。1、若是Gather、Scatter等算子执行失败,那么大概率是index越界了,请使用真实数据集的模型验证,或者转模型时添加--op_precision_mode=support_out_of_bound_index参数。2、如果是其他算子报错,首先检查运行的板端分组核数和om核数是否一致,否则可能会由于核数不一致导致等待超时,在RTS报错运行失败,在device-0日志中报错某个Aicore timeout。aicpu算子执行失败MDC不支持aicpu算子,请把对应算子转换成aicore算子(输入数据类型为int8、int64转换成int32)tsdopen失败 一般是代码调用流程有问题,确认device、tsdevice、context、group、stream是否一致。精度问题定位如果遇到atc加参数force_fp32不怎么掉点。需要打开模型层层对比,找到影响最大的层,指定其运行在fp32精度下。获得onnx每层推理结果可以参考《产品文档》中 AI开发-使用AI精度对比工具-GPU vs NPU(ONNX推理)-准备ONNX模型npy数据文件 章节,1、为onnx模型的每一层算子加上输出,然后使用onnxruntime推理后保存中间结果。2、在用这个加上输出的onnx模型转换不带force_fp32参数的om模型,推理后得到MDC上的中间结果。3、对两者结果进行绝对误差、相对误差、余弦相似度等指标的对比,观察差距。为了快速定位,建议使用二分法添加单个输出,而不是为所有算子添加输出,快速找出影响较大的算子。说明:由于om输出和onnx输出的数据格式不一定一致,所以 GPU vs NPU(ONNX推理) 章节下的数据对比分析工具存在一定的使用学习成本,建议使用二分法添加单个算子输出作对比。三、性能优化Scatter(ND)性能较差一般有如下两种情况。1、使用ScatterElements逐个取数据,类型需要更改成ScatterND。首先前提需要确认indices是Expand复制出来的。如下图,把ND的64转到最后一轴(去掉/插入Transpose)。 再把indices从[64, 3945]变成[3945, 1](把Expand复制出64维度变成Unsqueeze)。​​转出来的om如下图所示,耗时约为8核35us。​2、一般是因为ScatterND输入shape不对,导致ND退化成Elements,逐个数据去Scatter,所以性能不好。前提是需要确认indices是expand出来的,可以变回原来的样子而不影响逻辑。1)在PyTorch代码中,做以下修改就能有改图效果。output[indices, :] = update修改为output[indices] = updateOutput [393216, 64] fp32indices [50000] int64update [50000, 64] fp322)正确例子,这时1x30000x2的2是针对1x262144这两个轴。3)错误例子,这里也是类似,需要把64转到末轴去,然后把Expand的Indices从64x50000x2变成50000x1(这里的2是针对64x393216,如果把64变成1那就不需要x2,变成x1)。那么就会变成update:50000x64,indices:50000x1,data:393216x64,output:393216x64​​  
  • [问题求助] 在运行MDC_Sample-2.1.003-T0000000.tar.gz示例代码中camera_det,检测结果有问题?
    请问检测结果中为啥class一直是0,或者没有检测到目标,这是啥原因?
  • [公告] 单击这里,获取购买MDC的联系方式!!!!
    尊敬的开发者,您好!若需要购买MDC,请联系曹先生,微信号:yf633788,添加时烦请备注公司/学校名称和来意~~
  • [问题求助] 想买一套华为智驾的MDC810或MDC610控制器在学校做研究,请问从哪能采购到
    想买一套华为智驾的MDC810或MDC610控制器在学校做研究,请问从哪能采购到控制器
  • [常见FAQ] MDC610 ​​​​​​​rtfbag回放数据失败
    问题描述在MDC上使用rtfbag工具录了包,放到x86环境下播放,部分events没有发布,相同的包在MDC上却可以正常播放。可能原因/解决方式添加如下环境变量,重新播包获取日志后分析。export RTFT_LOG_TYPE=SCR_LOG;export RTFT_LOG_LEVEL=LOG_INFO;export CM_LOG_TYPE=SCR_LOG;export CM_LOG_LEVEL=LOG_INFO;export RT_DDS_LOG_OUT=stdout;export RT_DDS_LOG_LEVEL=INFO可能原因一:bag包中录制的IP信息在x86平台上找寻不到,默认网卡模式不保证所回放的event能被接收端接收。解决方案:播包时加上--dds-network ip指定DDS网卡。若播包依旧失败,请尝试可能原因二。可能原因二:同时播放多个shm通道的event,共享内存被申请完。 解决方案:将回放环境的shm空间调大。可能原因三:bag包损毁,读出的头信息校验失败,报错如下图所示。
  • [常见FAQ] MDC 510 网络&切区&升级FAQ汇总贴
    1、MDC如何连接外网?问题描述MDC如何连接外网?解决方式配置IP和路由,路由需要加上子网掩码0.0.0.0才能配置成功,Development版本可以尝试remount之后写入。1、修改网络配置文件“usr_eth_soc_nic_flow.json”。2、(可选)若配置完成后ping不通外网,修改“/etc/resolv.conf”文件,该文件是linux通用文件,在里面添加DNS,通常使用的是114.114.114.114这个地址。2、如何切换串口登录?问题描述如何切换串口登录?解决方式切换完成后需等待几秒后回车。切换A面到B面echo 0x61 > /sys/devices/virtual/misc/spi-cpld/addrecho 0x8 > /sys/devices/virtual/misc/spi-cpld/value切换B面到A面echo 0x61 > /sys/devices/virtual/misc/spi-cpld/addrecho 0x0 > /sys/devices/virtual/misc/spi-cpld/value3、升级失败的解决方法问题描述升级失败,出现“Remoteput: file /home/mdc/ota/ads.tar.gz failed, errcode is:1010”的报错。解决方式1、修改包权限为777,再次执行升级。若无法解决问题,请尝试操作步骤2。2、如果是双芯的,查看b面升级路径磁盘空间是否足够,是否有同名升级包,删掉b面升级包后再次升级。若无法解决问题,请联系华为工程师处理。
  • [常见FAQ] MDS工具常见问题汇总(三)
    1、中文显示错误,出现乱码,如何解决?信息来源:原贴,更多详细内容请查看原贴。问题描述中文显示错误,出现乱码,如下图所示。解决方式此问题为Workspace配置问题,非eclipse的汉化问题。请参考如下步骤重新配置,即可解决问题。
  • [传感器适配] 使用MVIZ工具显示图像,MVIZ工具看不到Topic,这是啥原因?
    摄像头数据发送脚本已经启动查看Camera抽象服务有数据发送在我的Ununtu 20.4.6系统上启动MVIZ程序,按照操作指南,发现不到Topic
  • [问题求助] 启动camera_mviz_start.sh程序时,出现m_pub Publish failed该如何解决
    结果展示,请问这该怎么解决:
  • [公告] 问题求助发帖模板,发帖前必看~~~
    尊敬的开发者您好,请参照如下模板详细描述问题,详细的问题描述能帮助我们快速定位,解决问题,感谢~~说明:蓝色斜体部分仅为示例,提问前请复制此模板后根据实际情况填写!产品名称:MDC 510 Pro软件版本:MDC 510 1.0.XXX-0000000          问题现象(问题描述):开机时CAN3/4/5在输出CAN_ID为100的报文,CAN7在输出CAN_ID为304的报文,如何处理?故障后已采取的措施:/示例代码(如有):/
  • [问题求助] 使用ADSFI框架的arxml文件生成代码后,进行开发,代码一直发现不到服务,该如何解决?
    代码运行结果一直在等待发现服务查看cat /proc/umap/venc情况查看订阅情况
  • [工具链] [MCD610]MCD-Tool无法连接到MDC
    ubuntu系统为20.04,MCD-Tool版本为3.0.002。启动MCD-Tool工具后,无法通过Connect按键连接计算平台设备。​​​​​​​
  • [问题求助] 在使用MMC配置arxml文件时,使用校验,出现如下报错,具体应该如何解决
    下边图片为具体配置配置中出现的错误。
  • [常见FAQ] MVIZ工具常见问题汇总(三)
    1、调整Display面板宽度后,面板中插件的宽度不随面板尺寸的变化而自适应问题描述在拉伸或者压缩Display面板宽度后,Display面板中插件组件尺寸不能随面板尺寸的变化而自适应,示例如下:拉伸Display面板宽度,Fixed Frame插件宽度如下图所示:压缩Display面板宽度,Fixed Frame插件宽度无法自适应合理状态,如下图所示:解决方式目前1.13.26版本(Melodic)前 1.14.15版本(Noetic)前存在此问题。用鼠标微调Display面板中间的分隔线或者微调整个Display面板即可恢复。2、MViz与MDC上的可视化应用无法建立连接的问题问题描述设备与上位机能够相互ping通,但是MDC平台上的可视化应用无法与MViz建立连接,MViz接收不到可视化数据。解决方式该问题的原因是上位机的防火墙拦截了7000端口。解决方法是关闭防火墙,或者开启防火墙7000端口。关闭防火墙命令:sudo ufw disable。开启防火墙7000端口命令:sudo ufw allow 7000。3、取消勾选display插件后,3D区域仍然会显示对应的数据问题描述在Noetic版本的RViz中,会偶尔出现取消勾选“Display”面板中的插件,3D区域仍然会显示对应的数据的情况。解决方式1.14.16版本前存在此问题。重新勾选,再取消勾选,即可实现3D区域可视化数据同步取消显示。4、重命名插件时,如果带有&字符,在Panels下拉菜单不显示&,而是在其后的字符下方显示下划线问题描述MViz界面上方的Panels下拉菜单在遇到“&”字符时,会在&的下一个字符下方显示下划线而非&字符本身。解决方式该问题是由于Panels下拉菜单QT文字显示设置的原因,将&作为助记符,在&后面的字符下方显示下划线,如果要显示&,则要用&&。5、保存配置再打开,之前添加的插件不在保存配置时的所在位置问题描述在添加插件后,保存此时配置,退出MViz再重新打开,插件没有显示在保存时的位置。解决方式RViz原生问题,在Panels下拉菜单中查看当前已添加的插件,将需要显示的插件重新勾选即可。6、Mviz界面打开后,屏幕存在一块显示异常的区域问题描述Mviz界面打开后屏幕存在一块显示异常的区域,该异常区域为一个keyvaluepanel。解决方式电脑卡顿导致,重新打开Mviz即可。7、在有NVIDIA独立显卡的环境上,用RViz订阅显示数据,RViz崩溃退出问题描述在有NVIDIA独立显卡的环境上,用RViz订阅显示数据,在以下场景下会使RViz崩溃退出:场景一:选择Focus Camera、Measure、Publish Point插件,鼠标在3D区域中移动、单击会引起崩溃。场景二:在选择Interact或者Move Camera这两个tool插件的情况下,按键盘“f”键,转换焦点到某个当前正在可视化的3D物体上时,会偶现崩溃。解决方式经分析,崩溃的位置位于NVIDIA 3D渲染相关的库中。请参考以下建议避免问题重现:一般可视化3D物体过程中无需使用Focus Camera、Measure、Publish Point插件,请勿添加使用。一般可视化3D物体过程中无需按键盘“f”键转换焦点,请勿执行此操作。
  • [常见FAQ] MVIZ工具常见问题汇总(二)
    1、添加多个Camera面板显示camare叠加数据时,导致RViz卡死退出问题描述当添加多个Camera面板显示camare叠加数据时,导致RViz卡死,然后自动退出。解决方式1.13.18/1.13.19版本的RViz在使用Camera插件时可能导致软件退出,请更新到1.13.20及以上版本。2、如何在开发环境中配置MViz的Coredump文件问题描述如何在开发环境中配置MViz的Coredump文件。解决方式在开发环境中配置MViz的Coredump文件方法请参考如下步骤:1、在终端执行如下命令,配置Coredump文件的存储路径和命名规则。sudo bash -c 'echo file_path/core-%e-%p-%t > /proc/sys/kernel/core_pattern'说明:“file_path”为用户自定义Coredump文件存储路径,当工具发生coredump,便会在该目录下对应生成Coredump文件。2、在终端执行如下命令,配置Coredump文件的大小上限。ulimit -c unlimited说明:该命令仅在当前终端生效。3、在与步骤2相同的终端运行MViz。如果发生崩溃,则会在步骤1设置的路径中生成Coredump文件。3、在关闭MViz时遇到出现coredump问题描述在关闭MViz时遇到出现coredump。解决方式在RViz版本低于1.13.23版本时,加载Route Planner插件后,再关闭MViz会出现coredump。将RViz升级到1.13.23版本以上,建议升级到最新版本,可解决此问题。升级RViz方法如下:1、在MViz安装目录下打开终端。2、在终端上执行如下命令:sudo apt updatesudo apt upgrade4、在Displays区嵌入含4路视频窗口的MDC Vision面板,会使MViz窗口高度超出屏幕范围。问题描述在Displays区嵌入含有4路视频窗口的MDC Vision面板,会使MViz窗口高度超出屏幕范围。解决方式将嵌入在Displays区的MDC Vision面板拖出,悬浮显示可解决问题。5、通过“Add > By topic”的方式加载GridCells插件,topic栏为空,无数据显示问题描述MViz正常启动,单击"Add > By topic"添加GridCells插件后,GridCells插件中topic栏为空,3D区域无数据显示。解决方式在1.13.24及以下的RViz版本上会出现此问题,此时在GridCells插件的topic栏中进行手动选择所需topic,可解决该问题。6、在3D区域中显示的模型整体颜色很暗问题描述在3D区域显示模型,模型表面颜色很暗,很多区域甚至呈现黑色。解决方式此问题出现在RViz 1.13.22和1.13.23版本中,将RViz更新至1.13.24版本可解决问题。7、RViz中加载3D模型异常问题描述RViz 1.13.22版本存在模型加载异常问题,如下图所示:解决方式这个问题出现在RViz 1.13.22版本中,将RViz更新至1.13.23或及以上版本可解决问题。8、通过“File > Open Config”切换自定义配置文件时偶现闪退问题描述若切换配置文件前,在display面板中添加了PointCloud2插件显示点云,并且在切换配置文件过程中,MViz一直接收点云数据。在MViz中通过“File > Open Config”打开自定义配置文件时,可能会出现MViz闪退的问题。解决方式目前1.13.26版本(Melodic)前 1.14.15版本(Noetic)前存在此问题,规避方法如下:在切换配置文件前,停止MViz对点云数据的接收,完成切换配置文件后,再恢复点云数据的接收即可。
总条数:288 到第
上滑加载中