W10使用cuda运行YOLOv5方法

https://www.cnblogs.com/20183544-wangzhengshuai/p/14814438.html
https://blog.csdn.net/liaowenfeng/article/details/122249033
如果运行报错
AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘问题解决
原因是torch 版本太高的原因,或者解决办法:https://blog.csdn.net/SSS__jq/article/details/123458804

requirements.txt 文件

一般项目都会指定出项目所包含的库,及库版本。都是在这个文件里面。
命令行执行:
1、首先先确认到指定的python环境。conda activate YOLOV5_python38
2、然后执行 pip install -r requirements.txt

detect参数讲解

—weights

加载默认的权重文件(模型文件),文件一般都是github上的这些
image.png

—source

是图片的地址,或者视频的文件,也可以是网络文件或者视频流

—img-size

是图片在训练或预测过程中,需要把图片resize到指定大小来操作。官方给的权重文件有640和1280两种
image.png

—conf-thres

只有当检测结果的知信度大于这个值,才认为这是一个目标

—iou-thres

image.png
IOU的计算公式:交集除以并集
image.png
例子:image.png
值越大框越多:如当这个值为1时
image.png

—device

表示是用CPU还是cuda。默认为空,他会在后台自己检测,优先GPU(前提是cuda环境要安装好)

—view-img

只要指定了这个参数 ,这个就会设置为true,这个参数的意思是在检测过程中显示检测结果
image.png

—save-txt

只要设置了这个参数,就会把识别坐标保存到本地

—save-conf

只要设置了这个参数,就会把知信度保存到本地

—nosave

识别的结果,不保存

—classes

可以指定只识别某种或几种类型
如: —classes 0 只识别类型0的

—angnostic-nms

增强检测,但会更耗时

—augment

增强检测,但会更耗时

—update

把网络模型中不必要的一些部分去掉

—project

把结果保存到什么位置

—name

保存的文件夹名称

—exist-ok

如果没有设置他,就会以文件夹递增式的保存文件。如果设置了这个就只会保存到以—name设置的文件名中

train参数讲解

—weights

可以指定一个训练好的模型(迁移学习,利用训练好的模型,作为参数初始化)。如果空则会参用程序的默认参数去初始化。

—cfg

关于模型的配置。

—data

需要训练的数据来源

—hyp

超参数,对模型进行参数优化的

—epochs

训练多少伦

—batch-size

把多少个数据打包成一个batch送到网络模型中训练,值越大,训练速度也越快,大小受GPU的限制

—img-size

设置训练集和测试集的resize大小

—rect

矩阵的训练方式(图片resize的方式)
image.png

—resume

如果需要继续训练模型,就指定之前训练的模型权重文件 default=’last.pt’

—nosave

只保存最后一次训练权重

—notest

是否只在最后一个test中进行测试

—noautoanchor

是否采用锚点

—evolve

超参数调整的方式

—image-weights

对上一次训练效果不好的图片,加权重

—multi-scale

对图片尺寸进行变换

—single-cls

训练的数据集是单类别还是多类别

—adam

选用这个优化器

—sync-bn

对多GPU用的

—linear-lr

学习速率