1, 本文介绍
YOLOv10 的 SCDown 方法来优化 YOLOv8 的下采样过程。SCDown 通过点卷积调整通道维度,再通过深度卷积进行空间下采样,从而减少了计算成本和参数数量。这种方法不仅降低了延迟,还在保持下采样过程信息的同时提供了竞争性的性能。
关于SCDown 的详细介绍可以看论文:https://arxiv.org/pdf/2405.14458
本文将讲解如何将SCDown 融合进yolov8
话不多说,上代码!
2, 将SCDown 融合进yolov8
2.1 步骤一
找到如下的目录'ultralytics/nn/modules',然后在这个目录下创建一个SCDown.py文件,文件名字可以根据你自己的习惯起,然后将SCDown的核心代码复制进去
import torch
import torch.nn as nn
__all__ = ['SCDown']
def autopad(k, p=None, d=1): # kernel, padding, dilation
"""Pad to 'same' shape outputs."""
if d > 1:
k = d * (k - 1) + 1 if