当前位置:   article > 正文

YOLOv7学习笔记(一)——概述+环境+训练_yolov7项目文件详解

yolov7项目文件详解

一、环境安装测试

  1. 1、创建环境
  2. conda create -n yolo python=3.7
  3. conda activate yolo
  4. 2、安装pytorch
  5. conda install pytorch torchvision torchaudio pytorch-cuda=11.3 -c pytorch -c nvidia
  6. 11.3为cuda版本号
  7. 3、克隆yolov5
  8. git clone https://github.com/WongKinYiu/yolov7 # clone
  9. cd yolov7
  10. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
  11. //为了避免安装失误采用镜像安装https://pypi.tuna.tsinghua.edu.cn/simple
  12. 4、安装功能包
  13. sudo apt update
  14. sudo apt install -y zip htop screen libgl1-mesa-glx
  15. pip install seaborn thop
  16. pip install --upgrade protobuf
  17. pip install wandb
  18. 5、权重文件
  19. 在官网下载yolov7.pt权重文件,放在文件夹weights下

二、测试

python detect.py --weights weights/yolov7.pt --conf 0.25 --img-size 640 --source inference/images/horses.jpg

成功!


三、训练

训练和yolov5步骤一样见其他笔记:YOLOV5学习笔记(七)——训练自己数据集
原文链接:https://blog.csdn.net/HUASHUDEYANJING/article/details/126045094

这里主要介绍一下训练参数

  • --weights: 预权重路径
  • -- cfg: 模型yaml文件路径
  • --data: 数据集yaml文件路径
  • --hpy: 训练中超参数配置路径,默认data/hpy.scratch.p5.yaml,比如学习率、动量参数、权重衰减、预热epoch等
  • --epoch: 训练轮次
  • --batch_size:batch大小
  • --img-size: 网络输入图像大小
  • --rect: rectangular training(就是不失真的resize图像训练)
  • --resume: 重新开始最近的训练。
  • --nosave: 设置为True后只保存最后一个epoch权重
  • --notest: 设置为True后只测试最后一个epoch
  • --noautoanchor: 设置为True,表示不自动聚类anchor
  • --evolve:设置为True,超参数优化,可以选择自己的更有的超参数(但资源消耗也很厉害),一般情况下用不到
  • --bucket: 谷歌云盘bucket,一般也用不到
  • --cach-images: 设置为True,提前缓存图像可用于加速训练
  • --image-weights:加权图像选择进行训练。指对于那些训练不理想的图像,再下一次训练的时会增加一些权重,使其更关注这些困难样本
  • --device: 设备选择,如果是GPU就输入GPU索引【如0,1,2..】,CPU训练就填cpu
  • --multi-scale: 默认为False,是否采用多尺度训练
  • --single-cls: 数据集是单类别还是多类别,默认False
  • --adam: adam优化器,默认False(即采用随机梯度下降SGD)
  • --sync-bn: 是否使用跨卡同步BN,在DDP模式使用,默认False
  • --local_rank: DDP参数(不要改动)
  • --workers:
  • --label-smoothing:标签平滑,防止过拟合
  • --upload_dataset:更新数据集,和wandb 库有关。也基本不用
  • --bbox_interval:设置bbox log,也是和wandb有关,一般用不到
  • --save_period:在每个保存周期的epoch后用于记录模型日志,默认为-1
  • 线程数,根据自己的电脑设置
  • --project: 训练模型保存的位置,默认为run/train
  • --name: 保存项目名字,一般是run/train/exp
  • --exist-ok:模型目录是否存在,不存在就创建
  • --linear-lr: 对于学习率的调整,默认为False,开启后用余弦函数调整学习率
  • --label-smoothing:标签平滑,防止过拟合
  • --upload_dataset:更新数据集,和wandb 库有关。也基本不用
  • --bbox_interval:设置bbox log,也是和wandb有关,一般用不到
  • --save_period:在每个保存周期的epoch后用于记录模型日志,默认为-1
python train.py --workers 2 --device 0 --batch-size 16 --data data/uav.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights weights/yolov7.pt --epochs 100

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/534050
推荐阅读
  

闽ICP备14008679号