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()  # 不加这句有时候就会报错
相关推荐
我材不敲代码16 分钟前
机器学习入门 03逻辑回归part1—— 名字是回归但是却是分类算法的逻辑回归
机器学习·分类·回归
爱吃泡芙的小白白2 小时前
从GAP到剪枝:CNN全连接层分类技术演进与实战指南
分类·cnn·剪枝·全连接层·模型分类
Rabbit_QL2 小时前
【NLP学习】IMDB 情感分类实战:Word2Vec + 逻辑回归完整解析
学习·自然语言处理·分类
数研小生2 小时前
爬虫 + 机器学习:电商评论情感分类实战指南
爬虫·机器学习·分类
wearegogog12310 小时前
基于MATLAB的CNN图像分类算法实现
matlab·分类·cnn
2501_9418372612 小时前
蛤蜊生存状态分类识别 _ 基于YOLOv10n的海洋生物检测与分类_1
yolo·数据挖掘
Faker66363aaa14 小时前
指纹过滤器缺陷检测与分类 —— 基于MS-RCNN_X101-64x4d_FPN_1x_COCO模型的实现与分析_1
人工智能·目标跟踪·分类
Loacnasfhia916 小时前
面部表情识别与分类_YOLOv10n与MobileNetV4融合方案详解
yolo·分类·数据挖掘
t1987512818 小时前
基于MATLAB的HOG+GLCM特征提取与SVM分类实现
支持向量机·matlab·分类
Loacnasfhia918 小时前
贝类海产品物种识别与分类_---_基于YOLOv10n与特征金字塔共享卷积的改进方法
yolo·分类·数据挖掘