admin管理员组

文章数量:1650772

在Pytorch的实际使用中,有时我们不仅要提取模型的中间层特征,甚至有时我们需要可视化模型的中间层特征,特别是在写论文的过程中,即可以补充一下文章的篇幅,也可以虎一虎外行人,让他觉得好牛逼好高大上啊。下面开始进入主题:

其实很简单,想要哪一层的特征图直接提取那一层的输出即可,并将那一层的特征图可视化即可。首先,我们需要看一下网络都有哪些层,这个我在Pytorch从入门到放弃(3)里面就已经说明了如何查看AlexNet的网络结构,大家可以看一下这篇文章。下面直接上提取AlexNet特征图的代码(这里我提取了AlexNet第一个卷积层输出的特征图):

import torch
from torchvision import models, transforms
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import scipy.misc


# 导入数据
def get_image_info(image_dir):
    # 以RGB格式打开图像
    # Pytorch DataLoader就是使用PIL所读取的图像格式
    # 建议就用这种方法读取图像,当读入灰度图像时convert('')
    image_info = Image.open(image_dir).convert('RGB')
    # 数据预处理方法
    image_transform = transforms.Compose([
     

本文标签: 入门特征Pytorchfeaturemap