1,本文介绍
本文给大家带来的是利用yolov9的sppelen模块来改进yolov8的sppf,关于sppelen模块大家可以取查看yolov9的论文
本文将讲解如何将SPPELEN融合进yolov8
话不多说,上代码!
2,将SPPELEN融合进YOLOv8
2.1 步骤一
首先找到如下的目录'ultralytics/nn',然后在这个目录下创建一个'Addmodules'文件夹,然后在这个目录下创建一个SPPELEN.py文件,文件名字可以根据你自己的习惯起,然后将SPPELEN的核心代码复制进去。
import torch
import torch.nn as nn
__all__ = ['SPPELAN']
def autopad(k, p=None, d=1): # kernel, padding, dilation
# Pad to 'same' shape outputs
if d > 1:
k = d * (k - 1) + 1 if isinstance(k, int) else [d * (x - 1) + 1 for x in k] # actual kernel-size
if p is None:
p = k // 2 if isinstance(k, int) else [x // 2 for x in k] # auto-pad
return p
class Conv(nn.Module):
# Stan