• [工具链] 关于算子精度掉点问题
    平台:MDC610板端的模型只进行atc转换的float模型,conv是fp16进行运算的当前现象:pointpillars模型中PFN层 conv后精度掉点,reducemax后精度掉点1.现在要做那些操作可以提升conv和reducemax的精度2.对这两算子进行PTQ,发现没有明显提升,只能和掉点精度保持(通过增加模型输出节点,在conv输出增加模型节点,和onnx模型进行cos值比对)
  • [常见FAQ] 反复重启问题处理——MDC 610
    问题描述上电5分钟左右,系统复位执行mdc-dbg em query processStatus,显示ExtRegProcess与MsProcess进程状态是ABORTED执行mdc-dbg em restart ExtRegProcess重启进程会失败。原因分析查看/opt/log/aos_linux/platform_log/debug/目录下EM与ECTM开头的日志,在ECTM日志中有如下打印:读取配置文件/opt/platform/mdc_platform/conf/net/usr_network_port.json失败,无权限。可能是EM环境受损。解决方案1、登录平台,进入配置文件目录,修改配置文件权限,报错显示“无法以读写方式重新挂载”。2、执行/var/dm-flag-tool 0、reboot,重启。3、执行mount -o remount,rw / 使其可读写。4、执行chmod 0644 usr_network_port.json修改文件可读权限。5、执行mdc-dbg em restart ExtRegProcess进程,重启成功。 6、再次查询ExtRegProcess进程状态,显示正常运行。(MsProcess进程也是相同的方法处理)
  • [问题求助] 能否通过MDC610的UART通路向另一台MDC输出授时信号
    软件版本:MDC610 1.1.027-T000MDC610提供了预设的向激光雷达输出GPS信息的接口,如图所示。 请问能否在只有一台组合定位且第一台MDC已授时的情况下,通过该接口为另一台MDC提供授时所需的PPS+GPRMC信号?
  • [问题求助] 升级时出现错误
    MDC一直重启,打算重新升级环节。这个报错怎么解决
  • [传感器适配] MDC610系统非支持摄像头适配
    软件版本是MDC 610 1.1.027-T000 定制的摄像头接口是以太网,没有LVDS接口,不能自动推流,请问具体步骤是什么,难度大吗? 
  • [问题求助] 多台MDC610的时间同步问题
    请问一台组合定位能同时给两台或更多台MDC610授时吗?如果不能,一台MDC610被组合定位授时后,能进行MDC610间的数据连接,为另外一台MDC610授时,实现多设备时间同步吗?组合定位的型号是华测的CGI-610。
  • [问题求助] 华为MDC510pro加载om模型 提示架构错误
    之前的帖子:华为MDC510pro加载om格式模型报错_MDC辅助驾驶计算平台_华为云论坛已修改模型代码,消除了所有的警告。部分算子的输入数据的格式为int64,插入cast算子消除了warning。但生成的模型具有 _ubuntu_x86_64 后缀,在MDC510pro上加载会报架构不匹配的错误,无法加载。使用参数指定arm架构后,转换过程会报错,提示缺少so文件。我和同事多次尝试重新安装环境依旧如此。默认可以成功生成x86架构的om模型root@fb38d748af76:/data/EQCNet# atc --log=debug --model=./batch_map_encoder-cast.onnx --framework=5 --output=./batch_map_encoder_static --soc_version=Ascend310M1 --input_shape="input_data_map_polygon_position:86,3;input_data_map_polygon_orientation:86;input_data_map_polygon_type:86;input_data_map_polygon_is_intersection:86;input_data_map_point_position:1669,3;input_data_map_point_orientation:1669;input_data_map_point_magnitude:1669;input_data_map_point_type:1669;input_data_map_point_side:1669;input_data_map_point_to_map_polygon_edge_index:2,1669;input_data_map_polygon_to_map_polygon_edge_index:2,208;input_data_map_polygon_to_map_polygon_type:208"ATC start working now, please wait for a moment....ATC run success, welcome to the next use.root@fb38d748af76:/data/EQCNet# ls *.om -Ahtl-rwxrwxrwx 1 root root  54M Dec  8 17:35 batch_map_encoder_static_ubuntu_x86_64.om-rwxrwxrwx 1 root root 6.0M Dec  5 15:40 batch_map_encoder_old_dyn.om-rwxrwxrwx 1 root root 3.7M Dec  5 14:10 batch_map_encoder_static.om-rwxrwxrwx 1 root root 6.1M Dec  2 16:07 batch_map_encoder-cast.om-rwxrwxrwx 1 root root 6.0M Dec  2 14:55 batch_map_encoder.om 指定 aarch64 架构,提示缺少so文件root@fb38d748af76:/data/EQCNet# atc --log=debug --model=./batch_map_encoder-cast.onnx --framework=5 --output=./batch_map_encoder_static --soc_version=Ascend310M1 --input_shape="input_data_map_polygon_position:86,3;input_data_map_polygon_orientation:86;input_data_map_polygon_type:86;input_data_map_polygon_is_intersection:86;input_data_map_point_position:1669,3;input_data_map_point_orientation:1669;input_data_map_point_magnitude:1669;input_data_map_point_type:1669;input_data_map_point_side:1669;input_data_map_point_to_map_polygon_edge_index:2,1669;input_data_map_polygon_to_map_polygon_edge_index:2,208;input_data_map_polygon_to_map_polygon_type:208"  --host_env_cpu=aarch64ATC start working now, please wait for a moment....ATC run failed, Please check the detail log, Try 'atc --help' for more informationE19999: Inner Error!E19999  Load and store op proto so failed, path:/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu/aarch64[FUNC:GetSoBinData][FILE:model_helper.cc][LINE:375]        TraceBack (most recent call last):        Assert ((GetSoBinData(host_env_cpu, host_env_os)) == ge::SUCCESS) failed[FUNC:SaveSoStoreModelPartitionInfo][FILE:model_helper.cc][LINE:427]        [SaveSoStoreModelPartitionInfo]Failed[FUNC:SaveToOmRootModel][FILE:model_helper.cc][LINE:615]        SaveToOmRootModel failed, ret:1343225857, model id:4294967295, om_format:0[FUNC:SaveRootModel][FILE:ge_generator.cc][LINE:1463]root@fb38d748af76:/data/EQCNet# 在华为MDC510pro上加载 x86 格式的模型,报错[mdc@AOS_A zhh]$ ./load_model batch_map_encoder_static_ubuntu_x86_64.om[IAM][WARN][ClientSystemFops.cpp:136] Cannot find libc.so.[INFO] Acl Init Success[INFO] Acl Set Device Success,Current DeviceID:0[INFO] Acl Create Context Success[INFO] Acl Create Stream Success file: load_model.cpp line: 85[ERROR] id: 500002 error_msg: E19999: Inner Error!E19999  The os/cpu type of the model does not match the current system,Model is[ubuntu][x86_64], system is[linux][aarch64], please use the matching platform[FUNC:CheckOsCpuInfoAndOppVersion][FILE:model_helper.cc][LINE:899]        TraceBack (most recent call last):        [Model][FromData]load model from data failed, ge result[4294967295][FUNC:ReportCallError][FILE:log_inner.cpp][LINE:161][mdc@AOS_A zhh]$ x86目录下存在对应so文件,但arm架构目录下缺少so文件root@fb38d748af76:/usr/local/Ascend/ascend-toolkit/mdc# ls /usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib -Rl/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib:total 4dr-xr-xr-x 4 root root 4096 Sep 29 17:32 ubuntu/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu:total 8dr-xr-xr-x 2 root root 4096 Sep 29 17:32 aarch64dr-xr-xr-x 2 root root 4096 Sep 29 17:32 x86_64/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu/aarch64:total 0/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu/x86_64:total 54968-r-xr-xr-x 1 root root 24452760 Sep 29 17:32 libopsproto_rt2.0.so-r-xr-xr-x 1 root root 31832920 Sep 29 17:32 libopsproto.soroot@fb38d748af76:/usr/local/Ascend/ascend-toolkit/mdc#
  • [热门活动] 【MDC论坛开发者活动】这是一条开发者声音倾听贴,留下您宝贵的问题与建议,给我们一次面对面交流的机会!!!
    亲爱的开发者,您好不知不觉,MDC论坛已陪伴各位开发者走过了5个年头在这5年里,我们持续运营论坛,不仅帮助开发者解决问题求助更发布了行业动态、技术博客和FAQ在内的上百条帖子帮助开发者快速上手那么作为开发者的你对论坛的使用体验如何,又有什么诉求呢现诚邀您填写问卷,参与调研您的使用体验和建议是我们运营的强大动力~戳下方问卷填写(耗时大约1-3分钟)cid:link_0活动时间:2025.12.9-2025.12.31
  • [硬件整机] MDC610风冷版和水冷版硬件区别
    之前一直使用610风冷版,现在有使用水冷版,这两个硬件can配置什么是否有区别呢
  • [其他问题] 华为mdc610Sample示例
    本机的mdc610版本为MDC 610 1.1.027-T000 产品文档 01.chm请问一下下载的Sample中没有分割的Sample,请问一下您这边是否有如MobileSam等语义分割的代码Sample
  • [问题求助] MDC610开发,在编译环境安装第三方库,求助?
    产品名称:MDC610软件版本:MDC_Development_Studio-2.2.001-0000000-Ubuntu20问题现象(问题描述):根据“MDC 610 1.1.027-T000 产品文档”中的"安装第三方库>在编译环境中安装"章节步骤进行;我是用的操作系统:ubuntu20.04根据章节中的步骤需要安装“createrepo”命令,据了解该命令是centos系统中的,需要用yum安装,并且"MDC_AOS_rpmlist-{version}-llvm-dev.tar.gz"都是一些rpm包,这些应该都是centos系统的一些安装包,在ubuntu中的安装包因该是deb的,这是为啥;我尝试在ubuntu20.04系统中执行"apt install createrepo"安装,总是找不错,据说是python2中的东西已经移除,我现在不知道如何安装咱们的第三方库了。另外我需要"libpcap"、"Eigen3"、"PCL"、"Boost"这几个库,里面都有吗
  • [软件平台] 华为MDC510pro加载om格式模型报错
    onnx模型成功转为om格式:atc --log=debug --model=./batch_map_encoder.onnx --framework=5 --output=./batch_map_encoder_dyn --soc_version=Ascend310M1 --input_shape="input_data_map_polygon_position:-1,3;input_data_map_polygon_orientation:-1;input_data_map_polygon_type:-1;input_data_map_polygon_is_intersection:-1;input_data_map_point_position:1669,3;input_data_map_point_orientation:1669;input_data_map_point_magnitude:1669;input_data_map_point_type:1669;input_data_map_point_side:1669;input_data_map_point_to_map_polygon_edge_index:2,1669;input_data_map_polygon_to_map_polygon_edge_index:2,208;input_data_map_polygon_to_map_polygon_type:208" --input_format=ND  --dynamic_dims="86,86,86,86;90,90,90,90;"在华为MDC510pro上加载报错:[mdc@AOS_A zhh]$ ./load_model batch_map_encoder_dyn.om [IAM][WARN][ClientSystemFops.cpp:136] Cannot find libc.so. [INFO] Acl Init Success [INFO] Acl Set Device Success,Current DeviceID:0 [INFO] Acl Create Context Success [INFO] Acl Create Stream Success file: load_model.cpp line: 85[ERROR] id: 500002 error_msg: EE1001: The argument is invalid.Reason: rtKernelLaunchFwk execute failed, reason=[feature not support] Solution: 1.Check the input parameter range of the function. 2.Check the function invocation relationship. TraceBack (most recent call last): not support aicpu task![FUNC:AiCpuTaskSupportCheck][FILE:api_impl.cc][LINE:5742] The argument is invalid.Reason: rtKernelLaunchFwk execute failed, reason=[feature not support] Call rtKernelLaunchEx(device_base, op_kernel_size, 0U, stream) fail, ret: 0x32898[FUNC:KernelLaunchEx][FILE:model_manager.cc][LINE:167] Failed to init task index 216, related node /pt2pl_layers.0/Mod_ascend_mbatch_batch_0[FUNC:InitTaskInfoV2][FILE:model_args_manager.cc][LINE:215] [Model][FromData]load model from data failed, ge result[1343225857][FUNC:ReportCallError][FILE:log_inner.cpp][LINE:161] [mdc@AOS_A zhh]$加载模型的 load_model 能够成功加载文档中给出的resnet示例模型,加载om模型的源码:#include <algorithm> #include <iostream> #include <vector> #include "acl/acl.h" #define INFO_LOG(fmt, args...) fprintf(stdout, "[INFO] " fmt "\n", ##args) #define WARN_LOG(fmt, args...) fprintf(stdout, "[WARN] " fmt "\n", ##args) #define ERROR_LOG(fmt, args...) fprintf(stdout, "[ERROR] " fmt "\n", ##args) #define CHECK_ERROR(ret) \ if (ret != ACL_ERROR_NONE) { \ std::cout << " file: " << __FILE__ << " line: " << __LINE__ \ << "[ERROR] id: " << ret \ << " error_msg: " << aclGetRecentErrMsg() << std::endl; \ return 1; \ } using namespace std; int main(int argc, char* argv[]) { uint32_t deviceId = 0; aclrtContext context = nullptr; aclrtStream stream = nullptr; const char* aclConfigPath = nullptr; aclError ret = aclInit(aclConfigPath); if (ret != ACL_ERROR_NONE) { ERROR_LOG("Acl Init Failed"); return 1; } INFO_LOG("Acl Init Success"); ret = aclrtSetDevice(deviceId); if (ret != ACL_ERROR_NONE) { ERROR_LOG("Acl Set Device Failed"); return 1; } INFO_LOG("Acl Set Device Success,Current DeviceID:%d", deviceId); ret = aclrtCreateContext(&context, deviceId); if (ret != ACL_ERROR_NONE) { fprintf(stderr, "%d", ret); ERROR_LOG("Acl Create Context Failed"); return 1; } INFO_LOG("Acl Create Context Success"); ret = aclrtCreateStream(&stream); if (ret != ACL_ERROR_NONE) { ERROR_LOG("Acl Create Stream Failed"); return 1; } INFO_LOG("Acl Create Stream Success"); /* * 业务执行 */ char omModelPath[100]; if (argc != 2) { std::cout << "input model's name in command!!!" << std::endl; } strcpy(omModelPath, argv[1]); size_t modelMemSize_; size_t modelWeightSize_; void* modelMemPtr_; void* modelWeightPtr_; uint32_t modelId_; ret = aclmdlLoadFromFile(omModelPath, &modelId_); CHECK_ERROR(ret); aclmdlDesc* modelDesc_ = aclmdlCreateDesc(); ret = aclmdlGetDesc(modelDesc_, modelId_); CHECK_ERROR(ret); size_t inputNum = aclmdlGetNumInputs(modelDesc_); aclmdlDataset* datasetInput_ = aclmdlCreateDataset(); std::vector<void*> inputBuffers(inputNum); std::vector<size_t> inputSizes(inputNum); for (int i = 0; i < inputNum; i++) { aclmdlIODims dims; aclmdlGetInputDims(modelDesc_, i, &dims); aclDataType dataType = aclmdlGetInputDataType(modelDesc_, i); inputSizes[i] = aclmdlGetInputSizeByIndex(modelDesc_, i); printf("Input %d: dims=[", i); for (size_t j = 0; j < dims.dimCount; ++j) { printf("%ld ", dims.dims[j]); } printf("], dtype=%d, size=%zu\n", dataType, inputSizes[i]); ret = aclrtMalloc(&inputBuffers[i], inputSizes[i], ACL_MEM_MALLOC_NORMAL_ONLY); aclDataBuffer* inputData = aclCreateDataBuffer(inputBuffers[i], inputSizes[i]); CHECK_ERROR(ret); ret = aclmdlAddDatasetBuffer(datasetInput_, inputData); CHECK_ERROR(ret); } size_t numOutputs = aclmdlGetNumOutputs(modelDesc_); aclmdlDataset* datasetOutput_ = aclmdlCreateDataset(); size_t modelOutputSize; void* modelOutputBuffer = nullptr; for (int i = 0; i < numOutputs; i++) { modelOutputSize = aclmdlGetOutputSizeByIndex(modelDesc_, i); ret = aclrtMalloc(&modelOutputBuffer, modelOutputSize, ACL_MEM_MALLOC_NORMAL_ONLY); CHECK_ERROR(ret); aclDataBuffer* outputData = aclCreateDataBuffer(modelOutputBuffer, modelOutputSize); ret = aclmdlAddDatasetBuffer(datasetOutput_, outputData); CHECK_ERROR(ret); } // ========================================================== ret = aclrtDestroyStream(stream); if (ret != ACL_ERROR_NONE) { ERROR_LOG("Acl Destroy Stream Failed"); return 1; } INFO_LOG("Acl Destroy Stream Success"); ret = aclrtDestroyContext(context); if (ret != ACL_ERROR_NONE) { ERROR_LOG("Acl Destroy Context Failed"); return 1; } INFO_LOG("Acl Destroy Context success"); ret = aclrtResetDevice(deviceId); if (ret != ACL_ERROR_NONE) { ERROR_LOG("Acl Reset Device Failed"); return 1; } INFO_LOG("Acl Reset Device Success"); ret = aclFinalize(); if (ret != ACL_ERROR_NONE) { ERROR_LOG("Acl Finalize Failed"); return 1; } INFO_LOG("Acl Finalize Success"); return 0; }
  • [问题求助] Lidar-LidarDetection通讯找不到服务
    产品名称:MDC610软件版本:MDC 610 1.1.027-T000问题现象:LidarDetection接收不到数据我在MMC工程搭建了如下框架,并进行如下配置连接MDC的雷达为速腾M1,配置信息如图。这里我参照了/opt/platform/mdc_platform/manual_service/lidar_a_cm/etc/LidarCmProcess中的network_binding.json接口我选的LidarDataFlowPPort,Instance Id设置为6会显示报错如下Failed to find the service。之后我又更换了个数据接口,尝试使用了LidarCmToAppPort接口,Instance Id配置从3-7之间都尝试了一次,均失败了。
  • [传感器适配] B3口改速率为1000不成功
    MDC610里写了B3口支持1000M速率,但是在usr_network_port.json里将B3口的speed更改为1000,下电重启后,在B3口接了一个前兆雷达还是ping不通
  • [传感器适配] 雷达时间同步
    MDC610使用ptp4l给雷达进行时间同步,在本地是可以的,但是在MDC上不行,而且其他雷达可以设置成功