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