I am new to pytorch and doing style transfer. I want to have the features of vgg fc1 layer (1x1x4096 weights). I can get features of convolution layer easily by recreating the model structure (from pytorch tutorial):
class VGGNet(nn.Module): def __init__(self): """Select conv1_1 ~ conv5_1 activation maps.""" super(VGGNet, self).__init__() self.select = ['0', '5', '10', '19', '28'] self.vgg = models.vgg19(pretrained=True).features def forward(self, x): """Extract 5 conv activation maps from an input image. Args: x: 4D tensor of shape (1, 3, height, width). Returns: features: a list containing 5 conv activation maps. """ features =  for name, layer in self.vgg._modules.items(): print(name, layer) x = layer(x) if name in self.select: features.append(x) return features
I found the fc layers are only in classifier. I can do something like
new_classifer=nn.Sequential(*list(model.classifier.children())[:-6]) according to this post
But how do I get the features of vgg fc1 layer? Thank you in advance!