115.使用C++调用YOLO模型:LibTorch(PyTorch C++ API)入门

张开发
2026/6/10 4:05:07 15 分钟阅读

分享文章

115.使用C++调用YOLO模型:LibTorch(PyTorch C++ API)入门
深夜两点,模型推理卡在99%的内存占用上上周三凌晨,产线测试同事突然电话过来:“C++部署的YOLOv5在产线机器上跑着跑着就崩了,Python版本明明好好的。” 我盯着屏幕上的torch::jit::load调用,突然意识到——我们团队那个刚毕业的小伙,直接把Python训练出来的.pt文件扔给C++接口了。这就是今天要聊的第一个坑:LibTorch和PyTorch的版本必须严格对齐,差一个小版本号都可能让你在内存泄漏里折腾一整夜。环境配置:别在版本问题上栽跟头很多人以为LibTorch就是下载个压缩包,配置下CMake就行。实际上,第一个隐形炸弹在这里:# CMakeLists.txt 关键片段 find_package(Torch REQUIRED) # 这里如果系统有多个Torch版本,大概率链接错乱 target_link_libraries(yolo_infer ${TORCH_LIBRARIES}) # 必须用这个变量,别手写库名 # 建议显式指定路径(生产环境一定要这么干) set(Torch_DIR "/opt/libtorch-1.12.1/share/cmake/Torch")我习惯把LibTorch解压到/opt下,用绝对路径配置。曾经因为系统自带的旧版OpenCV和LibTorch的图像处理冲突,导致cv::Mat转torch::

更多文章