YOLOV8对于classify分类任务更换resnet18主干网络

1. 先定义残差18模块的网络

复制代码
class Resnet18(nn.Module):
    def __init__(self):
        super().__init__()
        model = models.resnet18(pretrained=True)
        self.layer=nn.Sequential(
        model.conv1,
        model.bn1,
        model.relu,
        model.maxpool,
        model.layer1,
        model.layer2,
        model.layer3,
        model.layer4,
        model.avgpool
        )
    def forward(self, x):
        x=self.layer(x)
        return x

添加到conv.py末尾

注册模块

2.task.py更改

3.更改Yaml文件

复制代码
# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify

# Parameters
nc: 1000 # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
  # [depth, width, max_channels]
  n: [0.33, 0.25, 1024]
  s: [0.33, 0.50, 1024]
  m: [0.67, 0.75, 1024]
  l: [1.00, 1.00, 1024]
  x: [1.00, 1.25, 1024]

# YOLOv8.0n backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
  - [-1, 3, C2f, [128, True]]
  - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
  - [-1, 6, C2f, [256, True]]
  - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
  - [-1, 6, C2f, [512, True]]
  - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
  - [-1, 3, C2f, [1024, True]]

# YOLOv8.0n head
head:
  - [-1, 1, Classify, [nc]] # Classify

4.最后训练测试一下

复制代码
from ultralytics import YOLO


def main():  # 不加这句有时候就会报错
    model = YOLO(r"yolov8-cls-resnet18.yaml").load('yolov8n-cls.pt') 
    model.train(data=R'E:\python_code\ultralytics-8.2.74\datasets\DIP', imgsz=128,epochs=10)

if __name__ == '__main__':  # 不加这句就会报错
    main()  # 不加这句有时候就会报错
相关推荐
MoRanzhi12032 小时前
11. Pandas 数据分类与区间分组(cut 与 qcut)
人工智能·python·机器学习·数学建模·分类·数据挖掘·pandas
sensen_kiss3 小时前
INT305 Machine Learning 机器学习 Pt.3二元分类和多类分类
大数据·机器学习·分类
B站计算机毕业设计之家8 小时前
智慧交通项目:Python+PySide6 车辆检测系统 YOLOv8+OpenCV 自定义视频 自定义检测区域 (源码+文档)✅
大数据·python·opencv·yolo·智慧交通·交通·车流量
Mrs.Gril2 天前
目标检测:yolov7算法在RK3588上部署
算法·yolo·目标检测
格林威2 天前
工业视觉检测里的 “柔性” 是什么?
图像处理·人工智能·深度学习·yolo·计算机视觉·视觉检测
罗小罗同学2 天前
覆盖9个癌种,基于11671张病理切片训练的模型登上Nature子刊,可精准“读出”分子标志物,突破传统分类局限
人工智能·深度学习·分类·数据挖掘·病理组学·医学人工智能·医工交叉
霍夫曼vx_helloworld73522 天前
yolov8模型在指针式表盘读数中的应用【代码+数据集+python环境+GUI系统】
大数据·python·yolo
飞翔的佩奇3 天前
【完整源码+数据集+部署教程】 白血球图像分割系统: yolov8-seg-repvit
python·yolo·计算机视觉·数据集·yolo11·白血球图像分割系统·、yolov8
Hcoco_me3 天前
YOLO入门教程(番外):卷积神经网络—图像卷积
深度学习·yolo·cnn
不惑_4 天前
AI大模型是怎么工作的?从石头分类说起
人工智能·分类·数据挖掘