【发布时间】:2021-09-03 21:49:56
【问题描述】:
我在 Pytorch 中的 图像分类 项目中使用 EfficientNet 预训练模型,我的目的是将最初为 1000 的类数更改为 4 个。 但是,为此,当我尝试添加 model._fc 层时,我不断看到此错误“EfficientNet”对象没有属性“分类器”。这是我的代码(Config.NUM_CLASSES = 4):
elif Config.MODEL_NAME == 'efficientnet-b3':
from efficientnet_pytorch import EfficientNet
model = EfficientNet.from_pretrained('efficientnet-b3')
model._fc= torch.nn.Linear(in_features=model.classifier.in_features, **out_features=Config.NUM_CLASSES**, bias=True)
当我在 Resnet 部分的末尾添加 model._fc 时情况有所不同,它显然将 Resnet-18 中的输出类数更改为 4。这是代码:
if Config.MODEL_NAME == 'resnet18': model = models.resnet50(pretrained=True) model.fc = torch.nn.Linear(in_features=model.fc.in_features, out_features=Config.NUM_CLASSES, bias=True)
solution 可用于 TensorFlow 和 Keras,如果有人能在 PyTorch 中帮助我,我将不胜感激。
问候,
远
【问题讨论】:
-
能否提供预训练模型的链接?
-
当然,这里是Link。
标签: deep-learning pytorch conv-neural-network transfer-learning image-classification