最新~YOLOV8手把手教学配置文件添加注意力机制!一看就会!_哔哩哔哩_bilibili
步骤是我之间的原创,但是学习该博主的视频步骤总结而来。
一 找注意力机制文件,目前已知是该网页下红色框内路径内的文件是注意力机制文件;同时该博主将注意力机制分为需要通道数和不需要通道数两种,在注册时写好,在配置文件时就不需要对应通道数;以有参通道EMA和无参通道SimAM为例来介绍;
GitHub - z1069614715/objectdetection_script: 一些关于目标检测的脚本的改进思路代码,详细请看readme.md
二 D:\documents\DeskTop\lunwen\look\ultralytics-20240619\ultralytics-main\ultralytics\nn\modules在一下路径中创建attention.py文件;
添加EMA和SimAM两种注意力机制,需要将第一步中的EMA和SimAM中的代码复制粘贴到新创建的attention.py文件中,其中要注意,如果先复制的是EMA文件中的内容,那么全选复制,之后再添加SimAM文件时,只需要复制中间的部分即可,如下图,框前面部分不需要复制是因为在第一个文件中已经包含了,框后面部分可以复制也可以不复制,目前测试阶段不影响。
还要注意python的对齐格式问题,两种或者多种注意力机制添加时比如class,def等全部都要对齐,要不会报错。
这步骤应该是可以导入多个注意力机制。
三 D:\documents\DeskTop\lunwen\look\ultralytics-20240619\ultralytics-main\ultralytics\nn\tasks.py更改与第二步骤同一文件夹路径下的tasks.py,更改的地方有两部分,
1 注意力机制导入tasks.py中,利用语句from ultralytics.nn.modules.attention import EMA,SimAM(这个步骤必须做)
2 找到tasks.py文件中的解析代码,在这里区分有无通道数的区别,有通道的放在一起(下图黄色框),没有通道的放在一起(下图绿色框),不用管其他的
四 D:\documents\DeskTop\lunwen\look\ultralytics-20240619\ultralytics-main\ultralytics\cfg\models\v8在该路径下创建yolov8-attention.yaml文件,可以直接复制yolov8.yaml文件中的内容,然后要注意一定要将下二图中黄色框框的内容添加进去,具体如何更改,还需要看后续的视频。如果在这里没改,我猜相当于只定义了函数,而没有应用函数一样的效果,所以,这里一定要很注意,很注意!!!!!
五 测试是否好使,创建一个maina.py,路径是第四步骤yaml文件。如果更改上述的图片中的参数,经过编译后,下三张图片arguments中的数据也会改变。