1. YOLOv9-S网络结构
1.1 改前改后的网络结构(参数量、计算量)对比
修改前调用的yolo.py测试的yolov9.yaml的打印网络情况,包含参数量、计算量
修改后调用的yolo.py测试的yolov9.yaml的打印网络情况,包含参数量、计算量
1.2 修改YOLOv9-s架构
- 在models/yolo.py文件中,Ctrl+F定位到args = [c1, c2, *args[1:]],然后再如下位置添加代码
if m in (RepNCSPELAN4,):args[1] = make_divisible(args[1] * gw, 8)args[2] = make_divisible(args[2] * gw, 8)args[3] = max(round(args[3] * gd), 1) if n > 1 else n
- 还是在models/yolo.py中,定位到elif m is CBLinear,然后做如下更改
c2 = [int(x * gw) for x in args[0]]
3. 修改模型配置文件:直接拷贝models/detect/yolov9.yaml然后重命名为yolov9-S.yaml,并做以下更改
2. 开始训练
按照需求修改train_dual.py中的以下参数
需要注意的是,这里只能写成这样,因为官方只给了这一个超参数设置文件:
键入以下命令开始训练:
python train.py --name yolov9-S
3. 验证
3.1 修改val.py中的以下参数
3.2 命令验证
python val.py --name yolov9-S