前言:
本篇博客主要的应用场景是在你的手里已有一个训练好的pytorch图像预测模型,而你需要将其部署到Qt中进行相应的程序开发。
本篇博客将手把手教你实现QT部署pytorch深度学习模型!
实现思路:
首先,将PyTorch模型转换为C++代码,可以使用TorchScript来将PyTorch模型转换为TorchScript格式,然后将其保存为.pt文件。(TorchScript是PyTorch的一种静态图表示形式,可以在不需要Python环境的情况下加载和运行模型)
然后,下载CMake以使得我们的Qt能够检测到并使用cmake而非qmake,下载Visual Studio2017以及MSVC2017方便调试以及提供相关运行环境。
其次,在相应的官方处获取对应版本的libtorch库(torch的前端C++库)和opencv库(用于调取图像预测所需要的图像)帮助我们能在Qt上调取使用我们部署模型时所需要调用的函数或使用的语法,为确保能够正常使用上述两个库还应将两者的下载路径添加到环境变量。
最后在Qt编写相关代码实现pytorch深度学习模型的部署。
emm... 具体思路大致就这样吧!
环境搭建:
Qt5.14.2(安装时注意勾选带MSVC2017字眼的且建议断网安装可以省一些麻烦)
CMake (cmake-gui)
Visual Studio2017
Libtorch
Opencv-4.9.0-windows
MSVC2017
需要注意的是相应的下载时记住自己选择的是release还是debug,这里由于我后续需要对程序做打包处理故选择了release
部署流程:
首先应确保你的环境搭建是没问题的,下载的Libtorch里有图1.1这些文件
图1.1
下载的opencv库里有图1.2这些文件
图1.2
当我们下载得到所需要的文件后,便可以开始添加相应的环境变量了。
可以打开桌面的搜索框搜索环境变量找到编辑系统环境变量进入,然后点击环境变量,找到系统变量一栏中的path,在里面新建并添加如图1.3文件路径然后全部窗口选择确定,否则可能会出现未设置成功的情况,必要时可以重启一下电脑。
图1.3
配置好环境变量后,我们打开Qt,点击工具里的选项确保MSCV2017不是黄色的三角感叹号,如果你遇到了,那么可能的原因是Windows Performance Toolkit未配置
解决方法
依次进入:控制面板——程序——卸载程序——找到“ Windows Software Development Kit ”;
选中右键——更改;选择“Change”;
勾选“Windows Performance Toolkit”,点击“Change”保存即可;
然后创建cmake项目
图1.4
可参考