)
在深度学习开发中Python 凭借简洁的语法成为训练首选但在工业部署、嵌入式设备、跨平台原生应用场景中Python环境依赖、性能损耗、兼容性问题成为瓶颈。我们目前需要一套无 Python 依赖、支持多平台、可训练可推理的纯 C 解决方案直接融合到应用中进入工厂/专家模式可进行训练。LibTorch作为 PyTorch 的官方C前端完美解决了这一痛点它继承了 PyTorch的核心能力支持模型定义、前向传播、反向传播、训练优化、模型保存加载全流程且原生兼容Windows、Linux、ARM等全平台真正实现 “一次编码多端运行”。本系列将从零开始带你使用 LibTorch 实现纯 C 深度学习模型训练和推理。核心优势纯 C 全栈能力无需 PythonC 完成训练 推理零环境依赖直接集成到原生项目跨平台原生支持完美支持 Windows (x86)、Linux (x86/ARM)、树莓派、Jetson 等硬件高性能加速支持 CPU 多核、ARM NEON、CUDA GPU 加速性能远超手写 C 网络PyTorch生态兼容API 与 Python 版 PyTorch 高度一致学习成本极低模型可互通工业级稳定广泛用于自动驾驶、物联网、客户端 AI 等生产环境。下载地址平台版本https://pytorch.org/get-started/locally/Windows选择 LibTorch (C/Windows)Linux x86选择 LibTorch (C/Linux)ARM 平台可直接编译或下载预编译包注意这里是否准确根据运行结果不准确了使用到了vs2017x64了这里官方全程没有写其是依赖VS2019/VS2022只说了用msvc没有提及msvc的版本是社区踩坑找到的我们基于前人的总结如下2.1 最新版VS2022 MSVC v143 编译后续看入坑三这里会有细节需要深究了2.0 及更早VS2019 MSVC v142 编译后续看入坑三这里会有细节需要深究了版本选择LibTorch1.13.1其是最后一个VS2019编译的版本这个有点坑实际最后可以MSVC2016X64所以可能是兼容的。Qt5.12.7Qt开始支持VS2019编译的版本是Qt5.15开始这里5.12.7是笔者多次踩坑后最终运行成功的。安装VS2017的选v141v142是vs2019的编译器v143是vs2022的编译器。搭建基础环境步骤一下载解压注意这是多次踩坑能运行的版本其他版本读者自行决定。步骤二创建工程模块化步骤三引入libTorch库将库复制过去# 文件夹根路径 LIBTORCH_DIR_PATH $$PWD/libtorch-win-shared-with-deps-1.13.1cpu # 头文件 INCLUDEPATH $$LIBTORCH_DIR_PATH/libtorch/include INCLUDEPATH $$LIBTORCH_DIR_PATH/libtorch/include/torch/csrc/api/include # 库文件 LIBS -L$$PWDLIBTORCH_DIR_PATH/libtorch/lib LIBS -lXNNPACK LIBS -lasmjit LIBS -lc10 LIBS -lclog LIBS -lcpuinfo LIBS -ldnnl LIBS -lfbgemm LIBS -lkineto LIBS -llibprotobuf LIBS -lpthreadpool LIBS -ltorch LIBS -ltorch_cpu步骤四编译出现错误“IValue”关键点添加头文件解决冲突然后直接注释掉下面这3个地方即可