您好,我最近在学习用torchscript部署pytorch模型到C++的Qt平台,但是不知道从哪里学起,想问一下您有没有推荐的教程或者文章,我的邮箱是1104386151@qq.com,谢谢!
你好!部署PyTorch模型到C++的Qt平台需要了解以下几个方面:
PyTorch模型的序列化和导出为TorchScript格式
在C++中使用libtorch(PyTorch C++ API)加载和运行TorchScript模型
了解Qt的图形界面和信号槽机制,以及如何在Qt中调用C++函数
下面是一些推荐的学习资源:
PyTorch官方文档中的TorchScript部分介绍了如何将PyTorch模型导出为TorchScript格式:https://pytorch.org/docs/stable/jit.html
libtorch官方文档介绍了如何在C++中使用libtorch加载和运行TorchScript模型:https://pytorch.org/cppdocs/
Qt官方文档介绍了Qt的图形界面和信号槽机制:https://doc.qt.io/qt-5/qtwidgets-index.html
此外,也可以参考一些开源项目的代码来学习如何在Qt中使用libtorch。例如:
https://github.com/lewes6369/Pytorch-Qt5-Creator
https://github.com/prabhuomkar/pyqt5-fast-neural-style-transfer
希望这些资源对你有帮助!
不知道你这个问题是否已经解决, 如果还没有解决的话:
- 看下这篇博客,也许你就懂了,链接:pytorch报错记录
- 除此之外, 这篇博客: Qt5的安装及Qt5使用C++调用pyton中的 三、编译中会遇到的“坑” 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
- 1、 位数的坑:需要使用和python版本相同位数的编译器,否则也会报一大堆错误!
- 2、 .py程序的名称,命名时直接输入hello就行,别输入 hello . py ,会和python定义的重复的,随便都想,就是别用这个名字,否则不管你里面写什么函数一律找不到,以为它压根读到的就不是这个文件。
- 3、 如果提示你找不到 python36_d.lib 怎么办?
- 那就把libs文件夹下的python36.lib文件,重新拷一份回来并且重命名为python36_d.lib就行了。
- 4.最好将你的.py文件放在和QT的EXE文件在同一目录下,否则还会持续报错。
- 5.当直接运行build之后的.exe文件,有时候会出现这个error:无法启动此程序。因为计算机丢失qt5core.dll 。并不是因为我们没有这个文件,因为没有添加到相应的路径;解决办法:在 path坏境变量 中添加路径:
我的是:
D:\sofaware\Qt5.11.1\5.11.1\msvc2017_64\bin;
D:\sofaware\Qt5.11.1\Tools\QtCreator\bin - 6.比如在py文件中import numpy 导入第三方模块时,就会出现打不开对应的文件,这还是路径配置的问题, 配置好环境之后,numpy,tensorflow都可以正常的进行导入。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^