Pytorch抽取网络层的Feature Map(Vgg)实例

杜鹃啼血染花红,山后山前一画中。旅行的意义不在于浏览风景,而是到一个完全陌生的环境,放空自己,感受享受孤独!

这边我是需要得到图片在Vgg的5个block里relu后的Feature Map (其余网络只需要替换就可以了)

索引可以这样获得

vgg = models.vgg19(pretrained=True).features.eval()
print (vgg)

Feature Map可利用下面的class

class Vgg16(nn.Module):
  def __init__(self, pretrained=True):
    super(Vgg16, self).__init__()
    self.net = models.vgg16(pretrained).features.eval()
 
  def forward(self, x):
    out = []
    for i in range(len(self.net)):
      x = self.net[i](x)
      if i in [3, 8, 15, 22, 29]:
        # print(self.net[i])
        out.append(x
    return out

以上这篇Pytorch抽取网络层的Feature Map(Vgg)实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签: Feature Pytorch