半详细Yolov8更换head
为什么是半详细呢,因为步骤和我上一篇更换backbone一样,我上一篇比较详细,看那个就好。但是为什么还要再写一次呢,因为我以为有区别,然后百度了半天,几乎没有完全公开的教程,我算是半蒙半猜的吧,给弄出来了。
先上backbone连接
如上所述,需要全部步骤的,看我这个连接
https://blog.csdn.net/weixin_44900686/article/details/135404081
修改yaml
前面的步骤都是一样的,把模块代码写好,注册并且更换环境后,就直接修改yaml就好了。
我今天有一个还是比较震惊我的发现,我之前只找到了yolov8.yaml,没发现yolov8n、yolov8s、yolov8l等等yaml,结果我发现后缀居然是自动识别的,这个功能有点厉害(原谅我这个小白的震惊),也就是说,你自己写yaml的时候,你也只需要在原本yolov8.yaml的基础上改就行了,比如我这个地方:
当然这里面的大部分呢yaml都是原本自带的,但是对于其中任何一个yaml,你只需要在调用的时候,加上n、s、l后缀,就能使用更大的模型,比如
yolov8l-cls.yaml,直接往后加就行,特别神奇,我也不知道原理是什么,看了一下源码没看太懂(主要也不是我的重点)。
到这里也就结束了基本是,我本来是打算用rtdetr作为head的,结果发现官方自己实现了,我直接调用了。