VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置

一、vs2017 + libtorch-1.13(CPU)版本环境配置

1、进入 pytorch 官网点击C++/java,下载libtorch(CPU)Release 版本,我这里下载的是1.13版本的pytorch,下载链接是https://pytorch.org/。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第1张图片 图1-1 CPU链接

2、下载完成后,将解压后的包放在固定的位置下面,如图1-2所示,libtorch_CPU文件夹即是我们解压后的libtorch(CPU)包,libtorch_CPU是我自己命名的解压文件名。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第2张图片 图1-2 解压后的libtorch包

 

 3、打开vs2017,新建一个空项目,我这里是Project2。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第3张图片 图1-3 创建空项目

4、项目配置改为 Release x64环境。

图1-4 更改环境配置

 

 5、打开如下设置:

(1)项目>>>Project2属性>>>VC++目录,分别在包含目录和库目录中添加自己libtorch包的include文件路径和lib文件路径。

(2)项目>>>Project2属性>>>链接器>>>输入,在附加依赖项中添加你需要的库文件名称,如果觉得太麻烦,那么可以像我一样把库目录中的以.lib为后缀名的文件名全部添加上去。

(3)项目>>>Project2属性>>>C/C++,进行两个改动:第一,“常规”目标栏中的“SDL检查”改为“否”;第二,“语言”目标栏中的“符合模式”改为“否”。否则会报错:“std”: 不明确的符号。

包含目录:

        D:\VS2017Library\libtorch_CPU\include

        D:\VS2017Library\libtorch_CPU\include\torch\csrc\api\include

 库目录:

       D:\VS2017Library\libtorch_CPU\lib

链接器附加依赖项:

        torch.lib
        torch_cuda.lib
        torch_cuda_cu.lib
        torch_cuda_cpp.lib
        torch_cpu.lib
        c10_cuda.lib
        caffe2_nvrtc.lib
        c10.lib
        kineto.lib
        dnnl.lib
        fbgemm.lib
        asmjit.lib
        XNNPACK.lib
        cpuinfo.lib
        clog.lib
        libprotocd.lib
        pthreadpool.lib
        libprotobufd.lib
        libprotobuf-lited.lib

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第4张图片 图1-6 包含目录

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第5张图片 图1-7 库目录

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第6张图片 图1-8 附加依赖项

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第7张图片 图1-9 库目录

 

 6、把包含目录“D:\VS2017Library\libtorch_CPU\lib”中所有以.dll为后缀的dll文件放入你项目文件夹下有.exe的地方。如图1-12。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第8张图片 图1-10 库目录

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第9张图片 图1-11 搜索.dll文件

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第10张图片 图1-12 打开项目文件

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第11张图片 图1-13 复制dll文件到项目文件下

 

至此,vs2017 + libtorch-1.13(CPU)版本环境配置完成,接下来用代码测试一下,代码如下:

#include
#include

using namespace std;

int main() {

	torch::Tensor x = torch::rand({ 2,3 });

	cout << x << endl;

	system("pause");
	return 0;
}

 若输出如图1-14所示,则环境配置成功!

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第12张图片 图1-14 代码输出

 

 

二、vs2017 + libtorch-1.13(GPU)版本环境配置

 配置 libtorch 的 GPU 和 CPU 版本其实区别不大,只是下载 GPU 版本需要看你自己电脑的配置是怎么样的,适合下哪一个版本的libtorch。

1、按下 windows + R 键输入 cmd 召唤出命令行,再输入 nvidia-smi 命令查看自己的 GPU 版本,可以看到我的GPU版本是11.6,因此可以下载11.6的libtorch(GPU版本)。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第13张图片 图2-1 查看GPU版本

 

 2、进入 pytorch 官网点击C++/java,下载libtorch(GPU)Release 版本,我这里下载的是1.13版本的pytorch,下载链接是https://pytorch.org/。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第14张图片 图2-2 下载libtorch版本

 

3、下载完成后,将解压后的包放在固定的位置下面,如图1-2所示,libtorch文件夹即是我们解压后的libtorch(GPU)包。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第15张图片 图2-3 解压后的libtorch包

 

 3、打开vs2017,新建一个空项目,我这里是Project3。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第16张图片 图2-4 创建空项目

 

4、项目配置改为 Release x64环境。

图2-5 更改环境配置

 5、打开如下设置:

(1)项目>>>Project3属性>>>VC++目录,分别在包含目录和库目录中添加自己libtorch包的include文件路径和lib文件路径。

(2)项目>>>Project3属性>>>链接器>>>输入,在附加依赖项中添加你需要的库文件名称,如果觉得太麻烦,那么可以像我一样把库目录中的以.lib为后缀名的文件名全部添加上去。

(3)项目>>>Project3属性>>>C/C++,进行两个改动:第一,“常规”目标栏中的“SDL检查”改为“否”;第二,“语言”目标栏中的“符合模式”改为“否”。否则会报错:“std”: 不明确的符号。

包含目录:

        D:\VS2017Library\libtorch\include

        D:\VS2017Library\libtorch\include\torch\csrc\api\include

 库目录:

      D:\VS2017Library\libtorch\lib

链接器附加依赖项:

        torch.lib
        torch_cuda.lib
        torch_cuda_cu.lib
        torch_cuda_cpp.lib
        torch_cpu.lib
        c10_cuda.lib
        caffe2_nvrtc.lib
        c10.lib
        kineto.lib
        dnnl.lib
        fbgemm.lib
        asmjit.lib
        XNNPACK.lib
        cpuinfo.lib
        clog.lib
        libprotoc.lib
        pthreadpool.lib
        libprotobuf.lib
        libprotobuf-lite.lib

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第17张图片 图2-6 包含目录 VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第18张图片 图2-7 库目录

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第19张图片 图2-8 附加依赖项

 

  6、把包含目录“D:\VS2017Library\libtorch\lib”中所有以.dll为后缀的dll文件放入你项目文件夹下有.exe的地方。如图1-12。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第20张图片 图2-9 libtorch库目录

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第21张图片 图2-10 搜索dll文件

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第22张图片 图2-11 项目文件夹

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第23张图片 图2-12 复制dll文件到项目文件夹

 

 7,最后,还有一个非常重要的设置要做,这就是GPU版跟CPU版配置最大的两个区别之一,在我们的vs2017找到项目>>>Project3属性>>>链接器>>>命令行,输入:

/INCLUDE:"?ignore_this_library_placeholder@@YAHXZ" 

如果没有这个命令行设置,那么即使你装的是GPU版本也只能使用CPU。我们先来看看没有这个命令行是个什么情况,测试代码如下:

#include
#include

using namespace std;

int main() {

	torch::Tensor x = torch::rand({ 2,3 });

	cout << x << endl;

	system("pause");
	return 0;
}

这是之前测试配置CPU版libtorch用的代码,我们可以看到输出的数据类型是 CPUFloatType{2,3}

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第24张图片 图2-13 CPU代码输出

 

现在我们先使用torch::cuda::is_available()函数看看有没有可用的GPU,然后把这输出的张量 x 放到 GPU 上,接着再对这段代码加上异常检测最后改成如下形式:

#include
#include

using namespace std;

int main() {

	try
	{
		cout << "cuda: " << torch::cuda::is_available() << endl;

		torch::Tensor x = torch::rand({ 2,3 });
		cout << x.to(torch::kCUDA) << endl;

	}
	catch (const c10::Error& e)
	{
		cout << e.msg() << endl;
	}


	system("pause");
	return 0;
}

 我们得到输出如下:

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第25张图片 图2-14 代码错误输出

可以看到程序输出torch::cuda::is_available()函数的结果为0,则说明没有可用的 GPU ,并且下面的把张量 x 放到GPU上还报了个错为:PyTorch is not linked with support for cuda devices。

接着我们把上面的命令添加到链接器的命令行中,再使用同样的代码输出,会发现torch::cuda::is_available()函数结果为1,则说明有可用的GPu,并且报错的张量 x 也可以输出了,类型为 CUDAFloatType{2,3}。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第26张图片 图2-15 GPU代码输出

至此,我们libtorch-1.13(GPU)版本才算是真正的配置好了环境。

三、vs2017 + opencv4.5.5版本环境配置

1、进入到opencv官网,下载windows对应的opencv4.5.5版本的opencv安装程序,并点击选择固定位置进行解压。如图所示。opencv官网下载链接:https://opencv.org/releases/

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第27张图片 图3-1 下载opencv4.5.5

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第28张图片 图3-2 安装opencv到固定位置

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第29张图片 图3-3 opencv安装路径

 

2、安装完成后,进入vs2017,新建一个空项目Project4,打开并更改一下设置:

(1)项目>>>Project3属性>>>VC++目录,分别在包含目录和库目录中添加自己opencv包的include文件路径和lib文件路径。这里的库文件目录用vc14或者vc15的都可以,没有多大的区别。

(2)项目>>>Project3属性>>>链接器>>>输入,在附加依赖项中添加你需要的库文件名称,如果觉得太麻烦,那么可以像我一样把库目录中的以.lib为后缀名的文件名全部添加上去。这里需要注意的地方是如果你的环境是 Debug 那么 附加依赖项则是 opencv_world455d.lib ,如果是 Release环境的话,那么附加依赖项则是 opencv_world455.lib。我这里是 Release环境,那么就是opencv_world455.lib。

包含目录:

        D:\VS2017Library\opencv\build\include

        D:\VS2017Library\opencv\build\include\opencv2

库目录:

        D:\VS2017Library\opencv\build\x64\vc15\lib

附加包含目录:

        opencv_world455.lib

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第30张图片 图3-4 包含目录

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第31张图片 图3-5 库目录

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第32张图片 图3-6 附加依赖项

 

 接着找到与lib库目录在一个文件夹下的 bin 文件里的 opencv_world455.dll ,并把它放入到有.exe的项目文件夹下,我的bin文件路径为:D:\VS2017Library\opencv\build\x64\vc15\bin ,如图。

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第33张图片 图3-7 opencv文件下的dll所在路径

 

VS2017+libtorch1.13(CPU、GPU)版+opencv4.5.5环境配置_第34张图片 图3-8 项目路径

 

 至此,我们在vs2017配置opencv4.5.5版本的环境就完成了,测试代码如下:


#include
using namespace std;

int main() {

	

	cv::Mat image = cv::imread("C:\\Users\\yiyaxin\\Desktop\\1.jpg");
	cv::imshow("image", image);
	cv::waitKey(0);
	
	return 0;
}

上面cv::imread()函数是自己的图像绝对路径,若输出图像,则opencv4.5.5配置完成。

图3-9 代码输出结果

 

 好了,到这里 libtorch1.13.0 和 opencv4.5.5 第三方库的下载安装和环境配置就完成了,后面我会使用 libtorch 和 opencv 搭建一个深度学习框架,敬请期待!

你可能感兴趣的:(深度学习环境配置,pytorch,c++,opencv)