目录
1 下载Libtorch和OpenCV
1.1 下载Libtorch
这里pytorch版本需要和yolov5训练模型的pytorch版本一致,我用的是cuda10.2,下载地址如下:
Libtorch下载地址
下载完成后,得到的是一个压缩包:
解压就得到一个libtorch文件夹:
1.2 下载opencv
opencv下载地址
下载完得到一个exe文件:
解压exe,得到一个opencv文件夹:
2 配置环境变量
2.1 配置Libtorch环境变量
2.2 配置OpenCV环境变量
3 用vs2017新建一个空项目
3.1 新建项目
3.2 配置VS的OpenCV环境及测试
1、配置包含目录
项目——>属性——>VC++目录——>包含目录:C:\Program Files (x86)\opencv\build\include
2、配置库目录
VC++目录——>库目录:C:\Program Files (x86)\opencv\build\x64\vc15\lib
注意:vs2015选vc14;vs2017和vs2019选vc15
3、添加OpenCV库文件名字
链接器——>输入——>附加依赖项:opencv_world455d.lib
至此,VS配置OpenCV已经完毕。
4、创建一个源文件:test_opencv.cpp,添加如下代码,更改运行环境为x64,点击运行。
#include<opencv2\opencv.hpp>
int main(int argc, char**argv)
{
cv::Mat image = cv::imread("E:\\zhouyi\\practice code\\opencv\\OpenCV_Libtorch_Test\\images\\bus.jpg",1);
cv::namedWindow("output");
cv::imshow("output", image);
cv::waitKey(0);
system("pause");
return 0;
}
5、运行效果
至此,VS配置OpenCV和测试已经完毕。
3.3 配置VS的Libtorch环境及测试
1、配置包含目录
项目——>属性——>VC++目录——>包含目录:C:\Program Files\libtorch\include和C:\Program Files\libtorch\include\torch\csrc\api\include
2、配置库目录
VC++目录——>库目录:C:\Program Files\libtorch\lib
3、添加Libtorch的依赖库
链接器——>输入:c10.lib、torch.lib、torch_cpu.lib和torch_cuda.lib
至此,VS配置Libtorch环境已经完毕。
4、新建一个源文件:test_libtorch.cpp,添加如下代码并运行:
#include<torch/torch.h>
#include<iostream>
int main(int argc, char**argv)
{
torch::Tensor data = torch::rand({
3,3 });
std::cout << data << std::endl;
std::cout << torch::cuda::is_available() << std::endl;
system("pause");
return 0;
}
如果提示"std"不明确符号的报错,项目——>属性——>C/C++——>语言——>符合模式:把“是”改为“否”。
5、运行效果
其中0表示没有使用到cuda。
如何配置支持cuda?
属性——>链接器——>命令行:/INCLUDE:?warp_size@cuda@at@@YAHXZ
注意:cuda10添加:/INCLUDE:?warp_size@cuda@at@@YAHXZ
cuda11添加:/INCLUDE:?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z
再运行程序,效果如下:
“1”表明可以支持cuda。
至此,VS配置Libtorch和OpenCV以及测试已经完毕。