【MindSpore】如何得到VGG模型中间层特征

问题描述:

【需求】

加载预训练VGG模型作为encoder,希望得到VGG中间层特征。在PyTorch中可以使用

models.vgg19(pretrained=True).features

请问在MindSpore中可以怎样实现?

解决方案:

获取网络中间层的特征,其实跟具体框架没有太大关系了。

torchvison里定义的vgg模型,可以通过features字段获取"中间层特征", torchvison的vgg源码如下:

class VGG(nn.Module):

    def __init__(self, features, num_classes=1000, init_weights=True):
        super(VGG, self).__init__()
        self.features = features
        self.avgpool = nn.AdaptiveAvgPool2d((7, 7))

在MindSpore的ModelZoo里定义的vgg16,可以通过layers字段获取,如下:

network = vgg16()
print(network.layers)

你可能感兴趣的:(深度学习,人工智能,机器学习)