train.py 部分为模型训练部分的程序文件,模型训练主要通过调用这部分的文件, 将调用 mask_data.yaml 和 mask_yolov5.yaml 部分对模型进行训练,对数据集训练 200epoch,最终得到训练好的模型,然后对训练好的模型中的权重文件进行验证,最 终调用最好的权重文件实现目标检测。 在 pycharm 中调用 train.py 文件进行模型训练,输入命令“python train.py --data mask_data.yaml --cfg mask_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 200 – batch—size 4”开始训练。 这里,epoch 是指在前向和反向传播中每一批次的单次训练迭代。所以,仅仅一 次训练是无法达到收敛拟合的,需要多次反复操作才能趋向稳定状态。Epoch 的大小 直接决定了参与训练数据的拟合状态。而随着 epoch 数量的增多,训练网络中的权值 随着更新迭代次数逐渐增加,曲线也由最开始的欠拟合状况逐渐走向优化适宜状态, 最终走向过拟合状态。本文设定 epoch 为 200。 Batch 即定义为批次数据中的大小单位,在训练过程中的参数如果要改变便是以 批次为单位进行,本文设定的 batch 为 4。如图 3.12 为模型训练的过程,整个训练历 时约 83.3 小时,训练结果保存在 runs/train/路径下,其中保存的权重文件会有两个, 分别为最好的模型和最后的模型。换一种说法
时间: 2024-02-26 12:52:47 浏览: 123
train.py
train.py是模型训练部分的程序文件,通过调用该文件,使用mask_data.yaml和mask_yolov5.yaml对模型进行训练。在训练过程中,我们训练200个epoch,并得到训练好的模型。训练完成后,我们使用训练好的权重文件进行验证,并选择最好的权重文件进行目标检测。在PyCharm中调用train.py文件进行模型训练时,可以使用命令“python train.py --data mask_data.yaml --cfg mask_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 200 --batch-size 4”,其中epoch表示前向和反向传播中每个批次的单次训练迭代次数。因此,需要多次训练才能达到收敛拟合的效果。本文设定epoch为200。Batch是指批次数据的大小单位,训练过程中的参数改变以批次为单位进行。本文设定batch为4。整个训练过程大约持续83.3小时,训练结果保存在runs/train/路径下,其中保存的权重文件包括最好的模型和最后的模型。
阅读全文