class ResNet(nn.Module):
def __init__(self):
super(ResNet, self).__init__()
resnet = models.resnet50(pretrained=True)
modules = list(resnet.children())[:-1]
self.resnet = nn.Sequential(*modules)
self.fc=nn.Linear(2048,10)
def forward(self, x):
x1 = self.resnet(x)
x1=self.resnet(x)
x1 = x1.view(x1.size(0), -1)
x1=self.fc(x1)
x2 = self.resnet(x)
x2= x2.view(x2.size(0), -1)
x2=self.fc(x2)
return x1,x2
如何在 Pytorch(预训练)中修改 resnet 50 以提供多标签分类的多个输出
数据挖掘
美国有线电视新闻网
火炬
迁移学习
2022-03-05 21:12:35
1个回答
softmax 层有助于:
类 ResNet(nn.Module): def init (self): super(ResNet, self)。init () resnet = models.resnet50(pretrained=True) modules = list(resnet.children())[:-1] self.resnet = nn.Sequential(*modules) self.fc=nn.Linear(2048,10 ),
def 前向(自我,x):
x1 = torch.softmax(self.resnet(x), dim=-1)
#x1=self.resnet(x)
#x1 = x1.view(x1.size(0), -1)
#x1=self.fc(x1)
x2 = torch.softmax(self.resnet(x) dim=-1)
#x2= x2.view(x2.size(0), -1)
#x2=self.fc(x2)
return x1,x2
要了解有关 dim 属性的更多信息,请参考此处:https ://stackoverflow.com/questions/52513802/pytorch-softmax-with-dim
我希望这就是你要找的。