<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[XCCCCZ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/XCCCCZ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; XCCCCZ]]></copyright><item><title><![CDATA[OrinX上安装jtop]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/164337987</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/164337987</guid><author>XCCCCZ</author><pubDate>Thu, 03 Sep 2026 18:08:59 +0800</pubDate><description><![CDATA[解决OrinX上安装jtop遇到的问题]]></description><category></category></item><item><title><![CDATA[非系统自带的库导致cuda程序不能运行报错operation not supported]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/164332804</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/164332804</guid><author>XCCCCZ</author><pubDate>Thu, 03 Sep 2026 16:33:51 +0800</pubDate><description><![CDATA[在Orin上部署程序时，CUDA相关报错（operation not supported、无法检测GPU内存）。排查发现与用户权限无关，最终定位为环境变量LD_LIBRARY_PATH导致加载了Apollo发布程序里带的旧版系统库，删掉后，所有cuda程序即可正常运行]]></description><category></category></item><item><title><![CDATA[记录自己开发Apollo component可能遇到的常见问题]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/157551039</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/157551039</guid><author>XCCCCZ</author><pubDate>Fri, 30 Jan 2026 16:49:20 +0800</pubDate><description><![CDATA[专用于声明Cyber RT组件（Component），是Apollo自动驾驶框架的核心构建单元组件会被编译成共享库（.so文件），由Cyber RT运行时框架动态加载和调度执行组件类需继承或，实现Init()和Proc()接口适用于构建算法功能模块（如感知、规划、控制等模块），组件之间通过DAG（有向无环图）描述依赖关系示例：在包管理模式（Package Management 2.0）下，用于声明生成动态库（共享库）的target，替代Bazel原生cc_library与原生。]]></description><category></category></item><item><title><![CDATA[C++纯虚基类和类的静态成员未定义引起的链接问题]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/157549940</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/157549940</guid><author>XCCCCZ</author><pubDate>Fri, 30 Jan 2026 16:27:20 +0800</pubDate><description><![CDATA[那可能的原因是：包含Normalization类定义的源文件没有被编译进任何库或类是纯虚类，但缺少至少一个虚函数的实现，或者链接时缺少包含该类实现的库。但在.cc文件中没有定义，增加std::mutex MultiSensorFusionComponent::s_mutex_pkslots_;输出 typeinfo for apollo::perception::camera::imagestitch::pre::Normalization。加了定义后再执行命令。]]></description><category></category></item><item><title><![CDATA[解决Apollo交叉编译过程中报错no such package ‘@local_config_pcl//‘: Oops, Package pcl not found]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/157508623</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/157508623</guid><author>XCCCCZ</author><pubDate>Thu, 29 Jan 2026 15:15:03 +0800</pubDate><description><![CDATA[etc/ld.so.conf.d/apollo.conf里设置的加载/opt/apollo/sysroot里的so库都没有加载，从而后面安装pcl等模块时执行ldconfig -p |grep pcl 查找不到pcl库而报错退出，可以修改scripts/apollo.bashrc增加执行ldconfig，也可以在环境脚本里强制执行ldconfig，避免修改apollo的脚本。即可，或者把环境里的其他版本的PCL都删掉，只保留Apollo自带的pcl这个版本即可。]]></description><category></category></item><item><title><![CDATA[解决Apollo编译过程中下载不了第三方支持包文件的问题]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/157506013</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/157506013</guid><author>XCCCCZ</author><pubDate>Thu, 29 Jan 2026 11:23:51 +0800</pubDate><description><![CDATA[【代码】解决Apollo编译过程中下载不了第三方支持包文件的问题。]]></description><category></category></item><item><title><![CDATA[模型部分量化后用tensorrt转换engine时遇到的问题]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466522</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466522</guid><author>XCCCCZ</author><pubDate>Wed, 31 Dec 2025 23:54:57 +0800</pubDate><description><![CDATA[最后只好把那个小量从python代码里删掉重新导出onnx然后再转换engine就顺利成功了，感觉这种情况是tensorrt里的处理常量的代码应该是写死了。将那模块不做FP16量化后转换出的engine的推理效果就基本上和python版原始模型的推理效果差不多了。看意思是Layer_ 153处的tensor期望是FP32，但是实际是FP16，开始没想明白，为何我强制设置了FP32还仍然有FP16类型的tensor冒出来？]]></description><category></category></item><item><title><![CDATA[torch.load()报错raise pickle.UnpicklingError(_get_wo_message(str(e))) from None_pickle.UnpicklingErro]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466390</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466390</guid><author>XCCCCZ</author><pubDate>Wed, 31 Dec 2025 23:10:17 +0800</pubDate><description><![CDATA[原因是pytorch2.6起考虑安全对要加载的网络模块做了限制，没有缺认授权的不能加载，报错后的提示信息给了两种解决办法，一种是相当于退回到老版本的不做限制，只需在torch.load()里设置weights_only=False,一种是对所有要加载的模块调用torch.serialization.add_safe_globals()授权。]]></description><category></category></item><item><title><![CDATA[配置开机自动挂载阿里云OSS和使用ossutil上传文件]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466192</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466192</guid><author>XCCCCZ</author><pubDate>Wed, 31 Dec 2025 22:50:26 +0800</pubDate><description><![CDATA[Endpoint: oss-cn-sample.aliyuncs.com           # 用于从外网访问oss，例如个人笔记本。Endpoint: oss-cn-sample-internal.aliyuncs.com  #用于从内网访问oss，例如阿里云服务器。在云服务控制台配置好后，在外网笔记本上按ossutil提示也用上述信息做好配置，然后就像本地拷贝一样上传文件到oss里。注意云服务器访问OSS属于内网访问，所以需要使用internal endpoint。]]></description><category></category></item><item><title><![CDATA[解决docker和NVIDIA docker安装中和key有关的问题]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466048</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/156466048</guid><author>XCCCCZ</author><pubDate>Wed, 31 Dec 2025 22:30:31 +0800</pubDate><description><![CDATA[里面curl命令下载文件的都需要到能科学上网的服务器上去执行下载到文件，然后拷贝到不能科学上网的服务器上，再执行sudo gpg ...安装或拷贝命令安装这些文件到指定地。Ubuntu22.04下安装docker，需要下载gpg文件安装到/etc/apt/keyrings/docker.asc，按照官网列的命令。/etc/apt/keyrings/docker.asc 或/etc/apt/keyrings/docker.gpg即可。安装完后就可以创建docker容器在容器里部署代码使用gpu训练模型了。]]></description><category></category></item><item><title><![CDATA[Apollo的inner message和proto message以及同一进程里有多个线程传递两种不同消息数据时可能导致进程崩溃]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/154071753</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/154071753</guid><author>XCCCCZ</author><pubDate>Wed, 29 Oct 2025 15:25:24 +0800</pubDate><description><![CDATA[摘要：Apollo中存在两种消息传递机制：innermessage用于进程内部高效传递C++数据结构指针（如LidarFrameMessage等），而protomessage基于protobuf用于跨进程结构化数据传输。修改chassis.proto后，在ARM64环境下出现线程本地存储损坏错误（_dl_allocate_tls_init断言失败）。通过实验发现，将protomessage和innermessage的处理线程分离到不同module启动可解决问题，暗示Cyber框架可能存在多线程竞争隐患。该问]]></description><category></category></item><item><title><![CDATA[基于Transformer的模型训练过程中经常出现grad_norm值为Nan或Inf的解决办法]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/154070803</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/154070803</guid><author>XCCCCZ</author><pubDate>Wed, 29 Oct 2025 14:33:43 +0800</pubDate><description><![CDATA[【代码】基于Transformer的模型训练过程中经常出现grad_norm值为Nan或Inf的解决办法。]]></description><category></category></item><item><title><![CDATA[解决模型工程化后推理总是输出nan值的问题]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/150353287</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/150353287</guid><author>XCCCCZ</author><pubDate>Wed, 13 Aug 2025 19:27:32 +0800</pubDate><description><![CDATA[摘要：在多模态模型工程化部署过程中，遇到TensorRT推理输出NaN的问题。经排查发现，问题根源在于averagepool和sigmoid算子导致的数值溢出。通过采用clamp限制数值范围、用HardSigmoid替代Sigmoid等方法进行优化后，模型成功转换为TensorRT引擎并输出正常结果。该案例揭示了多模态模型特征融合模块中数值稳定性对部署的重要性，提供了针对浮点溢出的有效解决方案。]]></description><category></category></item><item><title><![CDATA[onnx转tensorrt engine时发生错误[virtualMemoryBuffer.cpp::resizePhysical::140] Error Code 2: OutOfMemory的原因]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/150353078</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/150353078</guid><author>XCCCCZ</author><pubDate>Wed, 13 Aug 2025 18:54:55 +0800</pubDate><description><![CDATA[摘要：在ONNX模型转换过程中频繁报内存不足错误，调整workspace参数无效。排查发现动态维度模型即使拆分后仍报错，最终发现是maxShapes中设置的维度上限值过大（90000），将其降至60000后转换成功。经验表明动态维度设置需合理控制范围，避免不必要的大数值。]]></description><category></category></item><item><title><![CDATA[如何解决../rtSafe/safeRuntime.cpp (25) - Cuda Error in allocate: 2 (out of memory)]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/146877753</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/146877753</guid><author>XCCCCZ</author><pubDate>Mon, 31 Mar 2025 19:06:52 +0800</pubDate><description><![CDATA[在onnx生成engine的代码执行过程中，用8G显存的GPU跑程序一启动就报错：../rtSafe/safeRuntime.cpp (25) - Cuda Error in allocate: 2 (out of memory)，报这个错倒不一定是因为模型本身太大了，而是可能是workspace size值设置得太大了，把代码中。所需的workspace size变大，得需要把上面设置的值试着加大，当然此时GPU显存小了可能跑不了。但如果是设置了FP16量化模式。然后执行程序就不报错了。]]></description><category></category></item><item><title><![CDATA[Ubuntu非conda环境python3.8下安装labelme]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/145835787</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/145835787</guid><author>XCCCCZ</author><pubDate>Mon, 24 Feb 2025 19:35:35 +0800</pubDate><description><![CDATA[执行

  pip install labelme

执行了多次每次都是卡死，后来先执行pip install pyqt发现也是卡死在同样的地方，发现原来是安装PyQt 5.15.11时有个提示要求输入yes来确认license，但是输入后回车没有任何反映，按CTRL+C报类似下面的错误: 
 line = console_to_str(proc.stdout.readline()]]></description><category></category></item><item><title><![CDATA[Ubuntu下npm运行报错Error: Cannot find module ‘node:path‘]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/145478912</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/145478912</guid><author>XCCCCZ</author><pubDate>Thu, 06 Feb 2025 17:46:10 +0800</pubDate><description><![CDATA[node -v获得的node版本是v10.19.0，使用6.14.0的npm是适配的，使用11.1.0版npm显然是高了，问题很清楚了，把/usr/local/bin/npm链接删掉，重新创建链接指向/usr/bin/npm，然后在新打开的终端里运行 npm run serve就可以了。执行了apt install npm安装了npm，然后又执行 npm install -g npm更新了一下，执行。]]></description><category></category></item><item><title><![CDATA[如何解决Eigen和CUDA版本不匹配引起的错误math_functions.hpp: No such file or directory]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/144856861</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/144856861</guid><author>XCCCCZ</author><pubDate>Tue, 31 Dec 2024 20:51:07 +0800</pubDate><description><![CDATA[搜索eigen3的头文件里确实定义有__CUDACC_VER__之类的定义，但是cuda说不支持了，这很显然是eigen3.3.4版本低了，和cuda11.8不匹配，一种解决办法是按网上说的，删掉eigen3.3.4，去网上下载更新版本的。(例如3.3.8或3.4)然后自己编译安装，但是考虑到部署需求，我们的环境不能随便动，最好能不动eigen就能解决这个问题。]]></description><category></category></item><item><title><![CDATA[多核并发编译引起的编译错误]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/144593273</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/144593273</guid><author>XCCCCZ</author><pubDate>Thu, 19 Dec 2024 19:52:50 +0800</pubDate><description><![CDATA[file failed to open for reading这种错误按理不应该出现，因为相关plugin的源码都有，编译时也都应该执行了，没有其他编译错误怎么会找不到呢，可能是哪里有时序问题，看了一下编译脚本里的命令，果然是有， make -j使用多核并行编译加快了速度但是可能会造成这种依赖上的问题，改成make后编译就顺利完成了]]></description><category></category></item><item><title><![CDATA[[caskBuilderUtils.cpp::trtSmToCaskCCV::548] Error Code 1: Internal Error (Unsupported SM: 0x809)]]></title><link>https://blog.youkuaiyun.com/XCCCCZ/article/details/144592254</link><guid>https://blog.youkuaiyun.com/XCCCCZ/article/details/144592254</guid><author>XCCCCZ</author><pubDate>Thu, 19 Dec 2024 19:32:08 +0800</pubDate><description><![CDATA[如果有C++版本的onnx转tensorrt engine文件的程序，则可直接用高版本的tensorrt repo程序安装tensorrt版后再执行C++版的转换程序即可，tensorrt的python包则可根据需要选择是否安装。如果整个环境不需要支持兼容其他模型或程序，可以考虑把cuda和pytorch之类的都先升级再回头安装此程序，如果考虑到兼容，可以从NVIDIA网站上。解压后，设置LD_LIBRARY_PATH指向此tar包解压出来的目录里的so文件所在的lib子目录。]]></description><category></category></item></channel></rss>