首页 > 其他分享 >转载文章 libtorch部署yolov5

转载文章 libtorch部署yolov5

时间:2022-11-02 11:26:12浏览次数:65  
标签:yolov5 -- libtorch 3.4 weights model 转载

一、环境
Ubuntu 16.04
CUDA 10.2
OpenCV 3.4.12
LibTorch 1.7.0 (gpu)
Pytorch 1.7.0
二、得到yolov5 的权重模型
https://github.com/ultralytics/yolov5/blob/master/models/export.py
我使用的是3.0版本
用export.py生成的pt文件既可,但是默认是使用CPU的,使用GPU需要修改。

提示:用的coremltools==4.0版本,之前我有升级到4.1版本运行export.py会报错,用回4.0

用GPU修改如下:

#img = torch.zeros((opt.batch_size, 3, *opt.img_size)) # image size(1,3,320,192) iDetection
img = torch.zeros((opt.batch_size, 3, *opt.img_size)).to(device='cuda')

#model = torch.load(opt.weights, map_location=torch.device('cpu'))['model'].float()
model = torch.load(opt.weights, map_location=torch.device('cuda'))['model'].float()

#model.model[-1].export = True
model.model[-1].export = False


在终端运行:

python models/export.py --weights yolov5s.pt --img 640 --batch 1
1
三、编译运行libtorch-yolov5
git 工程 https://github.com/yasenh/libtorch-yolov5/

cd /path/to/libtorch-yolo5

wget https://download.pytorch.org/libtorch/cu102/libtorch-cxx11-abi-shared-with-deps-1.7.0.zip

unzip libtorch-cxx11-abi-shared-with-deps-1.6.0.zip

mkdir build && cd build

cmake .. && make

各个libtorch版本:https://blog.csdn.net/lxx4610/article/details/105806017/

把yolov5工程中生成的pt文件复制到libtorch-yolov5的weights文件夹

编译成功后在终端运行:

./libtorch-yolov5 --source ../images/bus.jpg --weights ../weights/yolov5s.torchscript.pt --gpu --view-img
1
由于原来我用的opencv 版本是3.4.2
报错:核心转储

terminate called after throwing an instance of ‘cv::Exception’
what(): OpenCV(3.4.2) /tmp/build/80754af9/opencv-suite_1535558553474/work/modules/highgui/src/window.cpp:615: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function ‘cvNamedWindow’

四、opencv源码编译
重新下载opencv源码编译
https://opencv.org/releases/
这次我下载了高版本4.3.0
这个版本可能是高了,也报错。
最后还是改成了3.4.12

unzip opencv-3.4.12.zip
cd opencv--3.4.12

mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.12 ..
make -j4
sudo make install

编译安装过程很顺利

 

这时需要重新编译libtorch-yolov5工程:
修改CMakeLists.txt 文件

#find_package(OpenCV REQUIRED)
#修改成

set(OpenCV_DIR "/usr/local/opencv3.4.12/")
find_package(OpenCV 3.4.12 REQUIRED)

 

五、运行结果
编译过后在终端中运行显示结果:

./libtorch-yolov5 --source ../images/bus.jpg --weights ../weights/yolov5s.torchscript.pt --gpu --view-img

 

 

————————————————
版权声明:本文为CSDN博主「yx868xy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yx868yx/article/details/117508782

标签:yolov5,--,libtorch,3.4,weights,model,转载
From: https://www.cnblogs.com/eastgeneral/p/16850382.html

相关文章

  • java多态性(转载)
    原文链接https://www.cnblogs.com/jack204/archive/2012/10/29/2745150.htmlJava中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和......
  • 【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体
     前言上一篇博客给大家介绍了LabVIEW开放神经网络交互工具包【ONNX】,今天我们就一起来看一下如何使用LabVIEW开放神经网络交互工具包实现TensorRT加速YOLOv5。以下是YO......
  • 【目标检测】使用TensorRT加速YOLOv5
    前言今天是程序员节,当然是以程序员的方式来度过节日。很早就听说TensorRT可以加速模型推理,但一直没时间去进行实践,今天就来把这个陈年旧坑填补一下。背景知识在实践之前有......
  • 转载:HTML代码简写法:Emmet和Haml
    HTML代码简写法:Emmet和Haml作者: 阮一峰日期: 2013年6月11日HTML代码写起来很费事,因为它的标签多。一种解决方法是采用模板,在别人写好的骨架内,填入自己的内容。还......
  • 解决jupyter无法导入jieba,pyLDAvis,gensim包的问题(转载)
    一、无法导入jieba使用pipInstalljieba已经安装成功,piplist也可以看到jieba,但是在导入时却出错一、在官网下载jieba包官网地址:https://pypi.org/project/jieba/#file......
  • MATLAB命令大全(转载)
    MATLAB命令大全管理命令和函数   help     在线帮助文件   doc     装入超文本说明   what     M、MAT、MEX文件的目录列表   type  ......
  • C#windows 服务 《转载》
    转自:https://blog.csdn.net/Code_May/article/details/123909870c#应用Windows服务背景一、创建windows服务1.创建windows服务工程项2.修改服务的实现文件servi......
  • 基于AidLux+YOLOv5+ByteTrack实现街道人流统计
    本博客内容主要基于AidLux实现,也是参加《Aidlux智慧安防AI实战训练营》的心得AidLux是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIoT应用开发和部署平台随着现代科......
  • ubuntu18.04 搭建kafka消息队列的运行开发环境 转载文章
    1、搭建zookeeper运行环境转载文章https://blog.csdn.net/lihao21/article/details/51778255本文讲述如何安装和部署ZooKeeper。一、系统要求ZooKeeper可以运行在多种系......
  • 【转载】Linux服务器安装SDS
    原作:https://rongsp.com/article/123.html  右键小飞机,"系统代理"选择“PAC模式”( “全局模式”会代理所有网址)这个时候试试是否正常访问,可以访问,先断开连......