赞
踩
在主机上训练自己的Yolov5模型,转为TensorRT模型并部署到Jetson Nano上,用DeepStream运行。
硬件环境:
RTX 2080TI主机
Jetson Nano 4G B01
软件环境:
Jetson Nano:
Ubuntu 18.04
Jetpack 4.5.1
DeepStream 5.1
主机:
Ubuntu 18.04
CUDA 10.2
yolov5 5.0
yolov5项目链接https://github.com/ultralytics/yolov5
克隆yolov5官方的代码
git clone https://github.com/ultralytics/yolov5.git
官方训练教程详见https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data
准备python3.8以上环境,可用conda创建一个虚拟环境,安装yolov5项目下yolov5/requirements.txt里的依赖
pip install -r requirements.txt
pytorch建议按pytorch官网教程的方式安装PyTorch
如CUDA 10.2 conda环境下安装
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
conda安装太慢可用mamba
手上有一个用labelImg(https://github.com/tzutalin/labelImg)打好标签的voc格式数据集,数据集里只有两种类型,鸭子duck和马桶抽sucker。(可自行用其他方式打voc格式数据集或用labelImg直接打yolo格式数据集)
用下面代码将voc格式转成yolo格式数据集,生成images文件夹(存放所有图片),labels文件夹(存放打好的标签),test.txt(测试集),train.txt(训练集),val.txt(验证集)
- import xml.etree.ElementTree as ET
- import pickle
- import os
- from os import listdir, getcwd
- from os.path import join
- sets = ['train', 'test','val']
- classes = ["duck", "sucker"]
-
- def convert(size, box):
- dw = 1. / size[0]
- dh = 1. / size[1]
- x = (box[0] +
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。