python

超轻量级php框架startmvc

pytorch获取vgg16-feature层输出的例子

更新时间:2020-07-25 18:30:01 作者:startmvc
实际应用时可能比较想获取VGG中间层的输出,那么就可以如下操作:importnumpyasnpimporttorchfrom

实际应用时可能比较想获取VGG中间层的输出,

那么就可以如下操作:


import numpy as np
import torch
from torchvision import models
from torch.autograd import Variable
import torchvision.transforms as transforms
 
 
class CNNShow():
 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))))
 
 
 def show(self):
 x = self.created_image
 for index, layer in enumerate(self.model):
 print(index,layer)
 x = layer(x)
 
 def image_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)
 return imData
 
if __name__ == '__main__':
 
 pretrained_model = models.vgg16(pretrained=True).features
 CNN = CNNShow(pretrained_model)
 CNN.show()

以上这篇pytorch获取vgg16-feature层输出的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

pytorch vgg16 feature 层输出