NVIDIA JetsonTX2 实现 yolov5

实现步骤

  • 1 刷机 jetpack4.5:
  • 2 JetsonTx2 Ubuntu系统 与自身电脑 Window系统 共享文件夹(方便数据传输)
  • 3 安装pytorch及其相关依赖包
  • 4 下载 yolov5(只做检测detect.py)
  • 5 简述 yolov5 训练自己数据集

1 刷机 jetpack4.5:

刷机教程:VM环境(Ubuntu18.04)+NVIDIA JETSON TX2刷机(JetPack 4.5)

2 JetsonTx2 Ubuntu系统 与自身电脑 Window系统 共享文件夹(方便数据传输)

tip: JetsonTX2 Ubuntu上新建一个文件夹用来共享,具体教程网上有,我这里放上一张window端的操作截图
NVIDIA JetsonTX2 实现 yolov5_第1张图片

3 安装pytorch及其相关依赖包

安装教程:PyTorch for Jetson - version 1.8.0 now available

这里放上下载地址,免费要的自取
pytorch 0.7.0 下载链接
torchvision 0.8.1 下载链接

4 下载 yolov5(只做检测detect.py)

这里放上下载地址,免费要的自取
YOLOV5 下载链接

我这里只下载了 yolov5s.pt 一个权重文件,需要用其他的自己到 GitHub 上下载,或者指定到yolov5/weights 路径下,通过 bash download_weights.sh 命令下载 yolov5 所有的权重文件

这是 yolov5 的 requirement.txt 文件,不要直接执行pip install -r requirements.txt
tip:直接运行python3 detect.py --source data/images/ --weights yolov5s.pt命令,报缺什么再装什么

thop、seaborn、tqdm、pycocotools 这几个好像是要装的

提前声明,我并不是说不按requirement.txt里面的要求装,我的意思是如果按我上面的流程走下来大部分其实都已经装好了,就差几个缺那就装那几个

# pip install -r requirements.txt

# base ----------------------------------------
Cython
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.2
Pillow
PyYAML>=5.3.1
scipy>=1.4.1
tensorboard>=2.2
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.41.0

# logging -------------------------------------
# wandb

# plotting ------------------------------------
seaborn>=0.11.0
pandas

# export --------------------------------------
# coremltools>=4.1
# onnx>=1.8.1
# scikit-learn==0.19.2  # for coreml quantization

# extras --------------------------------------
thop  # FLOPS computation
pycocotools>=2.0  # COCO mAP

直接执行下面的命令

cd YOLOV5/yolov5
python3 detect.py --source data/images/  --weights yolov5s.pt --view-img

注意
运行 yolov5 的 detect.py 时,会有一个检查安装包的版本的函数 check_requirements ,很多安装包需要很新的版本,这里建议把这个函数注释掉,否则要重新装很多东西,着实没必要(能跑通就行)。

NVIDIA JetsonTX2 实现 yolov5_第2张图片

正常显示画面
NVIDIA JetsonTX2 实现 yolov5_第3张图片

5 简述 yolov5 训练自己数据集

我这里简单讲一下yolov5训练自己训练集的过程

1.在yolov5文件夹外新建个新的文件夹my_dataset用来存放数据集
NVIDIA JetsonTX2 实现 yolov5_第4张图片
2.准备自己的数据集:images文件夹(jpg文件)、labels文件夹(txt文件)
images 和 labels 文件夹下面都有train文件夹,东西都放 train 文件夹里面

my_datasets
     images
        train(装训练集图片)
        val(装验证集图片)
     labels
        train(装训练集txt)
        val(装验证集txt)

NVIDIA JetsonTX2 实现 yolov5_第5张图片

3.新建 my_datasets.yaml 文件,该文件放在 yolov5/data 文件夹里面
NVIDIA JetsonTX2 实现 yolov5_第6张图片
yaml 内容格式

# MY dataset - first 600 training images
# Train command: python train.py --data my_dataset.yaml
# Default dataset location is next to /yolov5:
#   /parent_folder
#     /my_dataset
#     /yolov5

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: ../my_dataset/images/train/  # 600 images
val: ../my_dataset/images/val/  # 600 images

# number of classes
nc: 3

# class names
names: [ 'l1', 'l2', 'l3' ] #类别的命名

4.开始训练

!python train.py --batch 32 --epochs 200 --data my_dataset.yaml --weights yolov5s.pt

可能会报wandb 模块找不到的错误的解决方法
AttributeError: module ‘wandb’ has no attribute ‘run’

# Weights & Biases (optional)
pip install -q wandb  
wandb login  # use 'wandb disabled' or 'wandb enabled' to disable or enable

成功!!!
NVIDIA JetsonTX2 实现 yolov5_第7张图片

你可能感兴趣的:(机器学习,python,深度学习,pytorch,yolov5,jetsontx2)