栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

深度学习模型可视化1

Python 更新时间:发布时间: 百科书网 趣学号

深度学习模型的可视化1
  • 一、可视化特征层
  • 二、使用步骤
    • 1.引入库
    • 2.加入在特征层之后
  • 三.CAM通道注意力热图
    • 1.相关知识
    • 2.实际操作
    • 3.效果图

一、可视化特征层

我是直接加在网络中的代码段,对特征层直接取出来,进行可视化。

二、使用步骤 1.引入库

基本上是这几个库:

import matplotlib.pyplot as plt
import numpy as np
import cv2
2.加入在特征层之后

代码如下:

		#取出当前的feat
		res = []
        feature_map = feat.squeeze(0)
        feature_map = feature_map.cpu().numpy()
        feature_map_num = feature_map.shape[0]
        # row_num = np.ceil(np.sqrt(feature_map_num))
        row_num = 3
        plt.figure() #可以按照每排每列输出
        for index in range(1, 10):        # 10 取决于特征层的通道数,为row_num的平方加1
            # plt.subplot(row_num, row_num, index)
            res.append(feature_map[index - 1])
            plt.imshow(feature_map[index - 1], cmap='gray')
            plt.axis('off')                   #是否展示尺寸        

            plt.savefig(str(index) + "feat"+".png")
            cv2.imwrite(str(index) + ".png",feature_map[index - 1])
  		plt.show()
		# 整体叠加的图
		map_sum = sum(ele for ele in res)
        plt.imshow(map_sum)
        plt.savefig("sum_map.png")

      

实际效果:

三.CAM通道注意力热图

对图片进行通道注意力热图的可视化

1.相关知识

相关参考

2.实际操作

可以接续第一小节直接写

		heatmap = np.maximum(res, 0)     #res存储了所有通道的特征图
        heatmap = np.mean(heatmap, axis=0)
        heatmap /= np.max(heatmap)

        img = cv2.imread('test.jpg')     #添加图片
        heatmap = cv2.resize(heatmap, (img.shape[1], img.shape[0]))
        heatmap = np.uint8(255 * heatmap)
        heatmap = cv2.applyColorMap(heatmap, cv2.COLORMAP_JET)
        heat_img = cv2.addWeighted(img, 1, heatmap, 0.5, 0)
        cv2.imwrite('out.jpg', heat_img)  #输出图片
3.效果图

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/293808.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号