pytorch获取vgg16-feature层输出的例子
实际应用时可能比较想获取VGG中间层的输出,
那么就可以如下操作:
importnumpyasnp importtorch fromtorchvisionimportmodels fromtorch.autogradimportVariable importtorchvision.transformsastransforms classCNNShow(): def__init__(self,model): self.model=model self.model.eval() self.created_image=self.image_for_pytorch(np.uint8(np.random.uniform(150,180,(224,224,3)))) defshow(self): x=self.created_image forindex,layerinenumerate(self.model): print(index,layer) x=layer(x) defimage_for_pytorch(self,Data): transform=transforms.Compose([ transforms.ToTensor(),#range[0,255]->[0.0,1.0] transforms.Normalize(mean=(0.485,0.456,0.406),std=(0.229,0.224,0.225)) ] ) imData=transform(Data) imData=Variable(torch.unsqueeze(imData,dim=0),requires_grad=True) returnimData if__name__=='__main__': pretrained_model=models.vgg16(pretrained=True).features CNN=CNNShow(pretrained_model) CNN.show()
以上这篇pytorch获取vgg16-feature层输出的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。