解决LibTorch中 Torch::cuda::is_available()返回为False和module.to(device)异常

1.Windows10系统下使用LibTorch 1.6.0,使用VS2017进行C++开发时,
Torch::cuda::is_available()返回值为0(False),显卡驱动也进行更新。

通过python import torch时,返回为True。所以cuda、cudnn和torch都没问题。

 最后找到这个方法:亲测可用。

在链接器中 -> 命令行 -> 其他选项

/INCLUDE:?warp_size@cuda@at@@YAHXZ

解决LibTorch中 Torch::cuda::is_available()返回为False和module.to(device)异常_第1张图片

 再重新编译,运行Torch::cuda::is_available()返回值为True

2.Windows10系统下使用LibTorch 1.9.0,使用VS2019进行C++开发时,出现module.to(device)异常,如下图。

解决LibTorch中 Torch::cuda::is_available()返回为False和module.to(device)异常_第2张图片

在国外论坛找到,还是在链接器中 -> 命令行 -> 其他选项,参数变化,需改为

/INCLUDE:?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z

解决LibTorch中 Torch::cuda::is_available()返回为False和module.to(device)异常_第3张图片

 然后就没有出现异常,可以GPU推理

 参考:解决LibTorch1.5.0 中 Torch::cuda::is_available()返回为False_耳东小白的小笔记本儿-CSDN博客

你可能感兴趣的:(pytorch,深度学习)