YOLOv8中如何提取某层的特征图?

问题描述 投票:0回答:1

我正在做多任务学习的研究,想从YOLOv8的头部提取特征图进行比较。我正在使用 YOLOv8n 而不是使用的 ResNet18 模型修改 here 的教程。

model = YOLO('models/yolov8n.pt')
transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor(),
    transforms.Normalize(mean=0., std=1.)
])
image = Image.open(str('images/puppies.jpg'))
image = transform(image)
image = image.unsqueeze(0)
feature_map = model.model.model[15](image)
feature_map.shape

错误: RuntimeError:给定 groups=1,权重大小为 [128, 64, 3, 3],预期输入 [1, 3, 224, 224] 有 64 个通道,但得到了 3 个通道

我阅读了 YOLOv8 架构,怀疑传递到模型中的图像是恒定的,并且不会改变各层所期望的图像(如果我错了,请纠正我)。原因是因为当我想在发生任何串联之前从图层中提取特征时,代码会起作用。我很确定我的代码是错误的,但不确定如何正确实现它。

备注:我指的是RangeKing的YOLOv8架构。

yolo feature-extraction
1个回答
0
投票

这个问题你解决了吗?我还需要在 Yolov8 中提取任意层。

© www.soinside.com 2019 - 2024. All rights reserved.