网络编程
位置:首页>> 网络编程>> Python编程>> pytorch获取vgg16-feature层输出的例子

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

作者:Emiedon  发布时间:2021-04-16 20:56:47 

标签:pytorch,vgg16,feature,层输出

实际应用时可能比较想获取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()

来源:https://blog.csdn.net/Emiedon/article/details/79574113

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com