qq-22432832

【YOLOv5】推理、训练、验证参数解释

以下是yolov5,对detect.pytrain.pyval.py,输入参数的解释

detect.py(推理)

weights: 模型权重路径,即指定使用的模型权重文件的路径。
source: 输入图像或视频的路径,即指定输入文件/目录/URL/屏幕/0(webcam)的路径。
data: 数据集配置文件的路径,即指定数据集配置文件的路径。
imgsz: 推理大小(高度,宽度),即用于推理的输入图像大小。
conf_thres: 置信度阈值,即过滤掉小于此值的检测结果。
iou_thres: NMS(非极大值抑制)的 IOU 阈值,即用于去除重叠的检测结果。
max_det: 每张图像的最大检测数,即指定每张图像最多检测多少个目标。
device: 设备类型,即指定使用的设备类型,如 CPUGPUview_img: 显示结果,即指定是否在推理过程中显示结果。
save_txt: 保存检测结果到文本文件中,即指定是否将检测结果保存到 .txt 文件中。
save_conf: 将置信度保存在 --save-txt 标签中,即在保存 .txt 文件时同时保存置信度值。
save_crop: 保存检测结果的裁剪图像,即指定是否保存检测结果的裁剪图像。
nosave: 不保存图像或视频,即指定是否在推理期间保存图像或视频。
classes: 按类过滤,即指定要保留的类的列表。
agnostic_nms: 类不可知的 NMS,即指定是否使用类不可知的 NMSaugment: 扩充推理,即指定是否在推理期间应用数据扩充。
visualize: 可视化特征,即指定是否在推理过程中可视化特征。
update: 更新所有模型,即指定是否在推理期间更新所有模型。
project: 结果保存的项目路径,即指定要将结果保存到的项目路径。
name: 结果保存的名称,即指定要将结果保存为的名称。
exist_ok: 存在的项目/名称是否已存在,即指定是否应将结果保存为现有名称/项目,而不是自动递增。
line_thickness: 边框线条粗细(像素),即指定绘制边框时使用的线条粗细。
hide_labels: 隐藏标签,即指定是否隐藏绘制的标签。
hide_conf: 隐藏置信度,即指定是否隐藏绘制的置信度值。
half: 使用 FP16 半精度推理,即指定是否使用 FP16 半精度推理。
dnn: 使用 OpenCV DNN 进行 ONNX 推理,即指定是否使用 OpenCV DNN 进行 ONNX 推理。
vid_stride: 视频帧率步长,即指定在推理视频时跳过的帧数。

train.py(训练)

weights: 模型权重路径,即指定要加载的初始权重文件的路径。
cfg: 模型配置文件的路径,即指定要加载的模型配置文件的路径。
data: 数据集配置文件的路径,即指定要加载的数据集配置文件的路径。
hyp: 超参数配置文件的路径,即指定要加载的超参数配置文件的路径。
epochs: 总训练周期数,即指定要训练的总周期数。
batch-size: 总批次大小,即指定所有 GPU 的总批次大小,如果设置为 -1,则自动调整批次大小。
imgsz: 训练和验证图像大小(像素),即指定用于训练和验证的输入图像大小。
rect: 矩形训练,即指定是否使用矩形训练。
resume: 恢复训练,即指定是否恢复最近的训练。
nosave: 仅保存最终检查点,即指定是否只保存最终检查点。
noval: 仅验证最后一个周期,即指定是否只在最后一个周期进行验证。
noautoanchor: 禁用自动锚点,即指定是否禁用自动锚点。
noplots: 不保存绘图文件,即指定是否不保存绘图文件。
evolve: 进化超参数,即指定要进化的超参数的代数。
bucket: gsutil 存储桶,即指定 gsutil 存储桶的名称。
cache: 图像缓存模式(RAM / 磁盘),即指定要使用的图像缓存模式。
image-weights: 使用加权图像选择进行训练,即指定是否使用加权图像选择进行训练。
device: 设备类型,即指定使用的设备类型,如 CPUGPU。
multi-scale: 变化图像大小,即指定是否在训练期间随机变化图像大小。
single-cls: 将多类数据训练为单类,即指定是否将多类数据训练为单类。
optimizer: 优化器类型,即指定使用的优化器类型,如 SGD、Adam 或 AdamW。
sync-bn: 使用 SyncBatchNorm,即指定是否在 DDP 模式下使用 SyncBatchNorm。
workers: 最大数据加载器工作线程数,即指定每个 DDP 模式下的工作线程数。
project: 项目路径,即指定将训练结果保存到的项目路径。
name: 结果保存的名称,即指定要将结果保存为的名称。
exist-ok: 存在的项目/名称是否已存在,即指定是否应将结果保存为现有名称/项目,而不是自动递增。
quad: 四路数据加载器,即指定是否使用四路数据加载器。
cos-lr: 余弦学习率调度器,即指定是否使用余弦学习率调度器。
label-smoothing: 标签平滑度,即指定标签平滑度的 epsilon 值。
patience: EarlyStopping 模型训练的耐心周期数,即指定在多少个周期内没有提高性能后停止训练。
freeze: 冻结层,即指定要冻结的层。
save-period: 每 x 个周期保存一次检查点,即指定是否每 x 个周期保存一次检查点(如果设置为 -1,则禁用此功能)。
seed: 全局训练种子,即指定用于训练的全局种子。
local_rank: 自动 DDPGPU 参数,不要修改。
entity: 实体名,即

val.py(验证)

data: 数据集的配置文件路径,告诉模型数据集的位置、类别等信息。
weights: 模型的权重文件路径,可以指定多个权重文件,用于比较不同模型的效果。
batch-size: 一次性处理的图片数量。就像一次性处理一组图片,处理得越多,速度越快,但同时也会占用更多的内存
imgsz: 输入图片的尺寸大小。模型需要知道输入图片的大小才能进行推理。
conf-thres: 置信度阈值,用于过滤掉置信度较低的检测结果。只有置信度高于阈值的结果才会被保留。
iou-thres: 非最大值抑制的IoU阈值,用于去除重叠较多的检测结果。如果两个检测框的重叠度超过了阈值,较低置信度的框将被删除。
max-det: 每张图片最多保留的检测结果数量。如果一张图片中的目标数量超过了这个值,那么只会保留置信度最高的一部分结果。
task: 指定当前的任务类型,可以是验证(val)、测试(test)、训练(train)、速度测试(speed)或学习率调整(study)。
device: 选择使用的计算设备,可以是GPU或者CPUworkers: 数据加载器的最大工作线程数。增加工作线程可以加快数据加载速度。
single-cls: 将数据集视为单类别数据集,用于只检测单一类别的目标。
augment: 使用数据增强进行推理,以提高模型的性能。
verbose: 显示每个类别的平均精度均值(mAP)。
save-txt: 保存检测结果为文本文件。
save-hybrid: 保存带有标签和预测结果的文本文件。
save-conf: 在保存的文本文件中包含置信度信息。
save-json: 保存检测结果为COCO-JSON格式的文件。
project: 保存结果的项目路径。
name: 保存结果的文件名。
exist-ok: 允许覆盖已存在的项目和文件。
half: 使用FP16半精度推理。
dnn: 使用OpenCV DNN进行ONNX推理。

posted on 2023-07-24 17:16  春马与夏  阅读(2295)  评论(0编辑  收藏  举报  来源

导航