热力图可视化 plt cmap

本文介绍了如何使用Matplotlib库进行热力图可视化,重点讲解了不同colormap的选择,如'magma'和'jet',并展示了它们在数据可视化中的效果。读者将学会如何调整颜色映射以增强数据故事的呈现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

热力图可视化

import matplotlib.pyplot as plt
plt.imsave(savename, data, vmin=0, vmax=data_max, cmap='turbo')

cmap=turbo
cmap 的其它选择(如 magma,jet):
在这里插入图片描述

在这里插入图片描述

其中cmap="jet"结果类似如下:
在这里插入图片描述

### 高频低频热力可视化方法及工具 #### 方法概述 为了实现高频和低频特征的热力可视化,主要依赖于卷积神经网络(CNN)中的不同层次权重。CNN的第一层通常能够捕捉到像中的边缘和其他简单的模式,这对应着高频特征;而更深的层则倾向于捕获更为复杂的结构,即低频特征[^5]。 #### 工具选择 对于这类任务,常用的库包括TensorFlow, PyTorch以及专门用于可视化的Matplotlib和Seaborn。特别是PyTorch提供了方便的方法来提取并操作模型各层的数据,非常适合用来创建这样的视觉化效果。 #### 实现步骤详解 下面给出一段Python代码示例,展示了如何利用PyTorch框架加载预训练好的AlexNet模型,并获取其前两层(CONV1 和 CONV2) 的滤波器权重来进行可视化: ```python import torch from torchvision import models import matplotlib.pyplot as plt import numpy as np def plot_filters(layer_weights, title="Filter Weights"): """绘制指定层的滤波器权重""" fig = plt.figure(figsize=(8, 8)) n_filters = layer_weights.shape[0] for i in range(n_filters): ax = fig.add_subplot(8, 8, i + 1) # 只取单通道进行展示简化显示 img = layer_weights[i][0].cpu().numpy() ax.imshow(img, cmap='gray') ax.axis('off') plt.suptitle(title) plt.show() # 加载预训练alexnet模型 model = models.alexnet(pretrained=True) # 获取第一层convolutional layers (CONV1 & CONV2) 权重 first_conv_layer = model.features[0].weight.data.clone() # CONV1 second_conv_layer = model.features[3].weight.data.clone() # CONV2 plot_filters(first_conv_layer, "First Conv Layer Filters") # 绘制CONV1滤波器 plot_filters(second_conv_layer, "Second Conv Layer Filters") # 绘制CONV2滤波器 ``` 这段脚本首先定义了一个辅助函数`plot_filters()`用于绘制裁剪后的滤波器权重矩阵。接着通过调用torchvision.models模块下的alexnet函数获得一个已经预先训练过的AlexNet实例。最后分别访问该模型feature extractor部分的第一个(`features[0]`)和第四个(`features[3]`)子模块对应的Conv2d对象,从中读取出各自的权重参数作为输入传递给之前定义好的绘函数完成最终的效果呈现。 #### 结果解读 当运行上述程序后可以看到两张片窗口弹出,左侧代表来自第一个卷积层(CONV1)的滤波器响应,右侧则是第二层的结果。由于AlexNet设计之初就考虑到了双路径处理机制,因此在同一张表内可能会观察到两种截然不同的风格倾向:一种偏向黑白对比强烈的线条状案(高频),另一种则是色彩柔和过渡较为平缓的大面积区域划分(低频)。这种差异正好反映了早期阶段与后期抽象表征之间的区别所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值