YOLOv7学习笔记(一)——概述+环境+训练

一、环境安装测试

1、创建环境
    conda create -n yolo python=3.7
    conda activate yolo

2、安装pytorch
    conda install pytorch torchvision torchaudio pytorch-cuda=11.3 -c pytorch -c nvidia
    11.3为cuda版本号

3、克隆yolov5
    git clone https://github.com/WongKinYiu/yolov7  # clone
    cd yolov7
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt  
    //为了避免安装失误采用镜像安装https://pypi.tuna.tsinghua.edu.cn/simple

4、安装功能包
    sudo apt update
    sudo apt install -y zip htop screen libgl1-mesa-glx
    pip install seaborn thop
    pip install --upgrade protobuf
    pip install wandb

5、权重文件
    在官网下载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

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桦树无泪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值