在visual studio 2019中配置libtorch+Opencv4.3.0

准备工作:
关于opencv与visual studio 2019下载配置,参考在VS2019中配置Boost C++、NumCpp、Eigen 和opencv4.3.0库环境
关于cuda配置可以参考这篇文章,建议安装cuda10.2。

1.下载libtorch
ibtorch使用所需要的环境和训练最好保持一致,其中cuda,显卡驱动以及libtorch版本配置一般不应低于训练环境。尤其是libtorch版本要求更为严格,否则部分pytorch的api无法在libtorch中使用。

本文中以libtorch1.8.为例介绍,亲测可用。下载时以Debug版本为佳,避免一些不必要的错误。
在visual studio 2019中配置libtorch+Opencv4.3.0_第1张图片
2.VS2019项目配置
打开Visual Studio 2019,点击文件->新建->项目,新建空白的c++项目QT_Opencv。

项目编译为Debug,平台选择×64.
在visual studio 2019中配置libtorch+Opencv4.3.0_第2张图片

配置项目属性
include
右键项目deploy_test,选择属性进入属性页的配置属性。选择VC++目录,需要添加包含目录和库目录。包含目录配置路径为

D:\opencv\build\include\opencv2
D:\opencv\build\include
D:\libtorch-win-shared-with-deps-debug-1.8.2+cu102\libtorch\include\torch\csrc\api\include
D:\libtorch-win-shared-with-deps-debug-1.8.2+cu102\libtorch\include

如图:
在visual studio 2019中配置libtorch+Opencv4.3.0_第3张图片
lib
库目录的配置路径为:

D:\libtorch-win-shared-with-deps-debug-1.8.2+cu102\libtorch\lib
D:\opencv\build\x64\vc15\lib

在visual studio 2019中配置libtorch+Opencv4.3.0_第4张图片
link
最后添加链接器,点击链接器->输入->附加依赖项,编辑添加库目录中libtorch库目录下所有的.lib文件名。此外,为使用opencv还需添加opencv的.lib文件。本文添加如下:

opencv_world430d.lib
asmjit.lib
c10.lib
c10_cuda.lib
caffe2_detectron_ops_gpu.lib
caffe2_module_test_dynamic.lib
caffe2_nvrtc.lib
clog.lib
cpuinfo.lib
dnnl.lib
fbgemm.lib
gloo.lib
gloo_cuda.lib
libprotobuf-lited.lib
libprotobufd.lib
libprotocd.lib
mkldnn.lib
torch.lib
torch_cpu.lib
torch_cuda.lib

如图:在visual studio 2019中配置libtorch+Opencv4.3.0_第5张图片
注意:没有从c10d.lib,手误忽略即可。

为能够实验GPU,在链接器命令行多添加一句:

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

在visual studio 2019中配置libtorch+Opencv4.3.0_第6张图片
测试代码:

#include 
#include 
#include 

int main() {
     
	
	// 判断cuda是否可用
	std::cout << torch::cuda::is_available() << std::endl;

	// 查看gpu是个数
	std::cout << torch::cuda::device_count() << std::endl;

	// 查看cudnn是否可用
	std::cout << torch::cuda::cudnn_is_available() << std::endl;
	
	// 初始化 a,b
	auto a = torch::zeros({
      4,4 });
	auto b = torch::eye(4);

	std::cout << a+b << std::endl;
	
	return 0;

}

结果:

1
1
1
 1  0  0  0
 0  1  0  0
 0  0  1  0
 0  0  0  1
[ CPUFloatType{
     4,4} ]

你可能感兴趣的:(libtorch,visual,studio,opencv,pytorch)