LibtorchYOLOV5在Window10的部署
Posted 私はいつも好きです樱岛麻衣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LibtorchYOLOV5在Window10的部署相关的知识,希望对你有一定的参考价值。
YOLOV5在Window10的部署(一)
前言
大家好,这是我的第一篇文章,以前都是在本站白嫖大佬们的文章,现在有机会,也分享一下自己的工作经历。本文禁止转载。
部署环境
本文是在Windows10系统下,使用Libtorch-yolov5(yolov5的C++版本),Opencv4.5.2,Libtorch1.8.0
- VS2019
- Libtorch1.8.0
- Opencv4.5.2
- Libtorch-yolov5
- Cmake
- Window10
第一步:安装和下载
前言:将以下的文件下载好后,最好统一放到一个文件夹内,方便使用。
1:下载安装VS2019
下载地址:https://visualstudio.microsoft.com/zh-hans/vs/
2:下载Libtorch1.8.0。
各种版本的libtorch下载地址:https://blog.csdn.net/weixin_43742643/article/details/115218126
注:Libtorch的版本必须和你训练使用的虚拟环境中的pytorch版本一致。下载之前先去你的虚拟环境中查看Pytorch版本。
(1) 选择对应的版本
(2) 选择Release or Debug (我用的Debug)
(3) 选择CPU or CUDA(GPU) (本人笔记本太垃圾,用的CPU)
下载好的Libtorch文件夹内容
3:下载Opencv
Opencv下载地址:https://opencv.org/releases/
下载好的Opencv文件夹内容
4:下载Libtorch-Yolov5
下载地址:https://github.com/yasenh/libtorch-yolov5
下载好的Libtorch_yolov5_master
5:下载Cmake
下载地址:https://cmake.org/download/
下载安装成功后,win+r cmd进入命令窗口 输入 cmake 出现下面就是安装成功。
第二步:配置环境
主要是在VS2019上面配置Libtorch 和 Opencv
1: 配置Opencv 和 Libtorch
打开VS2019 创建一个新项目
这里选择C++ 和 空项目
项目名称是yolov5,放在和下载文件的同一个目录下
创建完成后,右键->属性
VC++目录 -> 包含目录
Opencv:
D:\\YoloV5_libtorch\\yolov501\\opencv\\build\\include
D:\\YoloV5_libtorch\\yolov501\\opencv\\build\\include\\opencv2
Libtorch:
D:\\YoloV5_libtorch\\yolov501\\libtorch\\include
D:\\YoloV5_libtorch\\yolov501\\libtorch\\include\\torch\\csrc\\api\\include
VC++目录 -> 库目录
Opencv:
D:\\YoloV5_libtorch\\yolov501\\opencv\\build\\x64\\vc15\\lib
Libtorch:
D:\\YoloV5_libtorch\\yolov501\\libtorch\\lib
链接器-> 输入-> 附加依赖项
Opencv: 将D:\\YoloV5_libtorch\\yolov501\\opencv\\build\\x64\\vc15\\lib文件中的.lib文件放入附加依赖项里面
opencv_world452d.lib(Debug)
opencv_world452.lib(Release)
Libtorch: 将D:\\YoloV5_libtorch\\yolov501\\libtorch\\lib中的.lib文件全部放入附加依赖项里面
c10.lib
c10d.lib
torch.lib
asmjit.lib
caffe2_detectron_ops.lib
caffe2_module_test_dynamic.lib
clog.lib
cpuinfo.lib
dnnl.lib
fbgemm.lib
fbjni.lib
gloo.lib
libprotobufd.lib
libprotobuf-lited.lib
libprotocd.lib
mkldnn.lib
pthreadpool.lib
pytorch_jni.lib
torch_cpu.lib
XNNPACK.lib
调试 -> 环境
D:\\yolov501\\libtorch\\lib;
D:\\yolov501\\opencv\\build\\x64\\vc15\\lib;
C/C++ -> 语言 -> 符合模式 改为否
C/C++ -> 常规 -> SDL检查 改为否
2: 测试 Opencv和 Libtorch
Opencv测试:源文件下新建main.cpp 将下面测试代码复制粘贴,运行即可。
记住你的运行环境为Debug x64
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
string name = "";
int main()
{
VideoCapture capture;
capture.open(0);
if (!capture.isOpened()) //先判断是否打开摄像头
{
cout << "can not open";
cin.get();
return -1;
}
namedWindow(name);
while (1) {
Mat cap;
capture >> cap;
if (!cap.empty()) //判断当前帧是否捕捉成功
imshow(name, cap);
else
cout << "can not ";
waitKey(30);
}
return 0;
}
成功显示
Libtorch测试:同上opencv测试 直接把opencv代码删除贴上下面测试代码即可。
#include <torch/torch.h>
#include <iostream>
int main() {
std::cout << "cuda::is_available():" << torch::cuda::is_available() << std::endl;
torch::Tensor tensor = torch::rand({ 3, 4 });
std::cout << tensor << std::endl;
}
出现的问题
一般都是环境配置的问题,只要重新配置你的环境,一般都能成功。当然有时候很麻烦,坚持一下就好了。
以上是关于LibtorchYOLOV5在Window10的部署的主要内容,如果未能解决你的问题,请参考以下文章
我应该在另一个命名空间中使用实体框架 DBContext 的部分类吗