使用vs2019对yolov5 进行libtorch release版本转换出现的各种错误总结

前几天的文章主要解决了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文件的位置传入进去

 

基本上上面三个地方处理后,应该可以顺利跑起来了。

 

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值