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

yipeiwu_com6年前Python基础

实际应用时可能比较想获取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层输出的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)

使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an inte...

django如何连接已存在数据的数据库

django如何连接已存在数据的数据库

你有没有遇到过这种情况? 数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办??? Django是最适合所谓的green-fie...

Python测试人员需要掌握的知识

a、字符串的定义方法 使用单引号(') 你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。 使用双引号(") 在双...

一行python实现树形结构的方法

定义 使用内置的defaultdict 我们可以很容易的定义一个树形数据结构 def tree(): return defaultdict(tree) example: json风...

在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例

最近在工作中,遇到了数据合并、连接的问题,故整理如下,供需要者参考~ 一、concat:沿着一条轴,将多个对象堆叠到一起 concat方法相当于数据库中的全连接(union all),它...