主要参考了博客https://blog.youkuaiyun.com/u012435142/article/details/84711978并在此基础上进行了修改,原博客生成的为灰度特征图,本文改进后生成彩色热力图。
代码如下:
import cv2
import time
import os
import matplotlib.pyplot as plt
import torch
from torch import nn
import torchvision.models as models
import torchvision.transforms as transforms
import numpy as np
savepath=r'features_whitegirl'
if not os.path.exists(savepath):
os.mkdir(savepath)
def draw_features(width,height,x,savename):
tic=time.time()
fig = plt.figure(figsize=(16, 16))
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95, wspace=0.05, hspace=0.05)
for i in range(width*height):
plt.subplot(height,width, i + 1)
plt.axis('off')
img = x[0, i, :, :]
pmin = np.min(img)
pmax = np.max(img)
img = ((img - pmin) / (pmax - pmin + 0.000