消防微型建设标准的网站是多少,幻灯片网站源码,pjax wordpress主题,深圳定制建站yolov7主干部分结构图#xff1a;yolov7主干
yolov7数据集处理代码#xff1a;yolov7数据集处理代码
yolov7训练参数解释#xff1a;yolov7训练参数【与本文代码有区别】
yolov7训练代码详解#xff1a;yolov7训练代码详解
目录
训练自己的训练集 训练自己的训练集
此…yolov7主干部分结构图yolov7主干
yolov7数据集处理代码yolov7数据集处理代码
yolov7训练参数解释yolov7训练参数【与本文代码有区别】
yolov7训练代码详解yolov7训练代码详解
目录
训练自己的训练集 训练自己的训练集
此处的数据集是采用VOC的格式。
数据集存放格式 ─dataset │ ├─Annotations # 存放xml标签文件 │ ├─images # 存放图片 │ ├─ImageSets # 存放图片名称的txt文件 │ └─labels # 存放标签txt文件 先运行项目代码makeTXT
python makeTXT.py
此时会在ImageSets下生成4个txt文件(这四个txt中仅包含每个图像的名称) ImageSets/ |-- test.txt |-- train.txt |-- trainval.txt -- val.txt 打开voc_label.py.修改classes为自己的类。
然后运行该代码。
python voc_label.py 将会在dataset文件下生成test.txt、train.txt、val.txt【这些txt仅包含图像路径】。然后在dataset/labels下会生成每个图像的txt【这些txt格式内容表示为类别索引(center_x,center_y,w,h)】
接下来是配置文件的修改。
打开cfg/training/yolov7.yaml。将nc修改为自己的类别数量。
接下来在data/文件下新建一个yaml文件【我这里写的是mydata.yaml】内容如下需要修改两个地方 train: ./dataset/train.txt
val: ./dataset/val.txt
test: ./dataset/test.txt# number of classes
nc: 1 # 修改处1 修改为自己的类# class names
names: [ target ] # 修改处2 类的名称 有关训练中的超参数设置【比如初始学习率动量权重衰减等可自行在data/hyp.scratch.p5.yaml中修改】。
训练
python train.py --weights yolov7.pt --batch-size 2 --device 0 正常的训练将会看到以下信息。
2023-03-11 11:50:48.658 | INFO | __main__:train:316 - Epoch gpu_mem box obj cls total labels img_size0/299 2.58G 0.04649 0.4474 0 0.4939 5 640: 100%|██████████████████████████████████████████████████████████████| 359/359 [02:3900:00, 2.25it/s] Class Images Labels P R mAP.5 mAP.5:.95: 100%|████████████████████████████████████████████████████| 20/20 [00:0700:00, 2.78it/s]all 80 147 0.2 0.204 0.102 0.0191生成推理阶段的模型
由于yolov7中训练与推理并不是一个模型是将训练后的模型进行重参数生成新模型。
因此需要运行tools/Reparameterization.py文件。【运行前注意修改文件中的权重路径以及类的数量】
代码GitHub - YINYIPENG-EN/yolov7_torch: yolov7 pytorch
torch转onnx
修改tools/pytorch2onnx.py中的权重路径
运行该代码即可得到onnx模型