赞
踩
持续更新----------------------------------------------------------------------------------------------------------
SSSS......yolov5-master版本......SSSS
【1】train.py文件(部分)
- import argparse # 解析命令行参数的库
- import math # 数学函数库
- import os # 处理文件和目录的库
- import random # 随机数生成库
- import subprocess # 子进程管理库
- import sys # 系统相关库
- import time # 时间相关库
- from copy import deepcopy # 深度复制库
- from datetime import datetime # 时间日期库
- from pathlib import Path # 处理文件路径的库
-
- import numpy as np # 处理数值数组的库
- import torch # PyTorch 深度学习框架
- import torch.distributed as dist # 分布式训练库
- import torch.nn as nn # PyTorch 模型库
- import yaml # 处理 YAML 格式文件的库
- from torch.optim import lr_scheduler # PyTorch 优化器库
- from tqdm import tqdm # 显示进度条的库
-
- # 获取当前 train.py 脚本文件的路径,然后获取其父目录作为 YOLOv5 根目录
- FILE = Path(__file__).resolve()
- ROOT = FILE.parents[0] # YOLOv5 root directory
- if str(ROOT) not in sys.path:
- sys.path.append(str(ROOT)) # add ROOT to PATH
- ROOT = Path(os.path.relpath(ROOT, Path.cwd())) # relative
-
- # 导入 YOLOv5 中的 val.py 文件中定义的 validate() 函数
- import val as validate # for end-of-epoch mAP
-
- # 导入 YOLOv5 中的 models 目录下的相关类和函数
- from models.experimental import attempt_load
- from models.yolo import Model
-
- # 导入 YOLOv5 中的 utils 目录下的相关类和函数
- from utils.autoanchor import check_anchors
- from utils.autobatch import check_train_batch_size
- from utils.callbacks import Callbacks
- from utils.dataloaders import create_dataloader
- from utils.downloads import attempt_download, is_url
- from utils.general import (LOGGER, TQDM_BAR_FORMAT, check_amp, check_dataset, check_file, check_git_info,
- check_git_status, check_img_size, check_requirements, check_suffix, check_yaml, colorstr,
- get_latest_run, increment_path, init_seeds, intersect_dicts, labels_to_class_weights,
- labels_to_image_weights, methods, one_cycle, print_args, print_mutation, strip_optimizer,
- yaml_save)
- from utils.loggers import Loggers
- from utils.loggers.comet.comet_utils import check_comet_resume
- from utils.loss import ComputeLoss
- from utils.metrics import fitness
- from utils.plots import plot_evolve
- from utils.torch_utils import (EarlyStopping, ModelEMA, de_parallel, select_device, smart_DDP, smart

【2】 train.py文件中的部分参数。
- lr0: #初始学习率,通常使用的优化器如SGD的初始学习率为1e-2,而Adam的初始学习率为1e-3。
- lrf: #OneCycleLR策略中的最终学习率,为初始学习率lr0乘以lrf。
- momentum: #SGD优化器的动量参数/Adam优化器的beta1参数,用于加速收敛过程。
- weight_decay: #优化器的权重衰减参数,用于减小模型复杂度,避免过拟合。
- warmup_epochs: #训练过程中的预热期,即在正式训练前一定周期内逐渐增加学习率。
- warmup_momentum: #预热期内的初始动量参数。
- warmup_bias_lr: #预热期内的初始偏置学习率。
- box: #bounding box回归损失的权重。
- cls: #物体分类损失的权重。
- cls_pw: #BCELoss中正样本的权重。
- obj: #目标存在性损失的权重,即objectness损失。
- obj_pw: #BCELoss中正样本的权重。
- iou_t: #训练中用于计算目标存在性损失的IoU阈值。
- anchor_t: #用于过滤anchor boxes的IoU阈值。
- fl_gamma: #focal loss中的gamma参数。
- hsv_h: #HSV颜色空间中的hue增强参数。
- hsv_s: #HSV颜色空间中的saturation增强参数。
- hsv_v: #HSV颜色空间中的value增强参数。
- degrees: #图像旋转的角度范围。
- translate: #图像平移的范围。
- scale: #图像缩放的范围。
- shear: #图像剪切的角度范围。
- perspective: #透视变换的参数。
- flipud: #上下翻转的概率。
- fliplr: #左右翻转的概率。
- mosaic: #图像融合的概率。
- mixup: #图像混合的概率。
- copy_paste: #图像分割中的复制粘贴的概率。

【3】 train.py----------------------训练中参数解释。
- # 每个参数解释
- Epoch: #当前模型的训练轮数/总训练轮数。
- gpu_mem: #当前模型在GPU上的显存占用量,以GB为单位。
- box: #当前模型的bounding box loss(边界框损失)。
- obj: #当前模型的objectness loss(物体存在性损失)。
- cls: #当前模型的classification loss(分类损失)。
- labels: #当前batch(一批次)中标记为有物体的图像数量。
- img_size:#当前batch中输入图像的大小。
-
- #下面是评估模型表现的输出结果:
- Class: #检测到的目标类别(此处是所有类别)。
- Images: #测试集中包含此类别的图像数量。
- Labels: #测试集中此类别的ground-truth(真实)标签数量。
- P: #此类别的平均精度(Precision)。
- R: #此类别的平均召回率(Recall)。
- mAP@.5: #IOU阈值为0.5时的平均精度(mean Average Precision)。
- mAP: #所有IOU阈值下的平均精度。

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。