前几天的文章主要解决了libtorch的debug版本,这几天需要release版本,因此重新进行了转换,下面系统的把我目前的环境说明一下。
cuda和cudnn的版本:
cuda_10.1.243_426.00_win10.exe,cudnn-10.1-windows10-x64-v7.6.5.32.zip,大家可以到这里下载https://developer.nvidia.com/cuda-toolkit-archive,我用的是下面的:

pytorch的版本
pytorch-1.7.1-py3.8_cuda101_cudnn7_0.tar.bz2

libtorch的版本
libtorch-win-shared-with-deps-1.7.1+cu101.zip,,,,,,,,,libtorch-win-shared-with-deps-debug-1.7.1+cu101.zip release版本和debug版本

配置libtorch的环境
这里直接推荐一个博客:https://blog.csdn.net/weixin_34910922/article/details/109344569
如果出现各种问题,可以参考这篇文章:https://blog.csdn.net/zzz_zzz12138/article/details/109138805
如果是debug的可以参考我的另一篇文章:https://blog.csdn.net/weixin_42398658/article/details/111954760
如果以上都没有解决您的问题,那您就需要好好往下看看我的简述,也许对你有启发:
1.如果你能正确编译,也能正确调用GPU,但是在加载模型时出现问题了,问题如下:
0x00007FFBE6E4D759 处(位于 libtorch.exe 中)有未经处理的异常: Microsoft C++ 异常: c10::Error,位于内存位置 0x000000AC5F6FEC60 处。


如上编译成功,gpu调用也成功,此时加载模型也成功,这时你需要排查,1.pytorch的版本和libtorch的版本是否一致,2.cuda版本和pytorch和libtorch是否一致,如果一致还出现这样的问题
则此时你需要吧libtorch对应的lib文件夹里的四个dll复制到exe文件夹下,即下面四个文件:c10.dll、c10_cuda.dll、torch_cpu.dll、torch_cuda.dll然后进行编译即可完美运行。
如果生成dll没问题,但是创建新工程进行调用dll老是出问题,同时调用gpu没问题,但是就是在加载模型的地方出问题,则存在三方面原因:
1.你需要把libtorch的所有dll文件复制到生成.exe文件夹下,所有的dll文件。
2.把torch_cuda.lib加入到该工程的库目录中
3.加载模型的地址不要写死,写成可配置的路径,不同的地方调用,把模型的.pt文件的位置传入进去
基本上上面三个地方处理后,应该可以顺利跑起来了。
459

被折叠的 条评论
为什么被折叠?



