pytorch 绘制一维热力图

热力图

热力图(Heat Map)是指用 X 轴 和 Y 轴 表示的两个分类字段确定数值点的位置,通过相应位置的矩形颜色去表现数值的大小,颜色深代表的数值大。

热力图是非常特殊的一种图,可以显示不可点击区域发生的事情。热力图非常关注分布,可以不需要坐标轴,其背景通常是图片或者地图,一般使用彩虹色系做展示。

热力图一般以二维居多,多用于图像处理领域。

热力图主要用于展示连续型数据的分布情况。例如用颜色展现某一范围内不同地区数据量的差异,网站分析等等。

优势:好看、易于理解,数据信息更直观有效,可以清晰地呈现数据在地理空间的分布、频率或密度情况。

缺点:效果过于柔化,不适合用作数据的精确表达,且不适合比较单一变量的大小。

一维热力图-----总体分布情况

根据折线图中的数据创建一维热图,类似于直方图,根据每个 bins 的出现频率绘制不同颜色

代码

可以通过imshow关键字参数设置imshow设置图像的数据范围。 这用元组(left, right, bottom, top)设置范围。
在范围内使用直方图的最小和最大bin边缘可将数据移动到其原始值

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(1)
# 画布大小
plt.rcParams["figure.figsize"] = 5,2
# 顺序生成 -56 到 40 之间的96个数
pos = np.arange(-56,40) #there are 96 numbers from -56 to 39
print len(pos), pos.min(), pos.max()
# 生成 96 个随机数
p = np.random.rand(len(pos))
# 随机数转化成概率
p= p/np.sum(p)
# 根据每个数出现的概率,在 pos 中挑选 4000 个数
a= np.random.choice(pos, size=4000, p=p)
# 将 a 的取值范围划分为 96 个 bin
bins=np.arange(-56,41) 
# 得到直方分布,hist 表示每个 bin 中数的个数 ,edges 表示 bin 的边界
hist, edges = np.histogram(a, bins)
hist=hist[np.newaxis,:]
# 热力图 x轴 和 y轴范围
extent=[bins.min(), bins.max(),0,1]
#画图
plt.imshow(hist, aspect ="auto", cmap="viridis", extent=extent)
plt.gca().set_yticks([])
plt.show()

一维热力图----数据变化情况

根据数据本身的波动情况,根据数值本身大小变换颜色

例图,可以看到数值大时,热力图更红,数值小时,热力图更蓝
在这里插入图片描述

代码

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(1)
# 画布大小
plt.rcParams["figure.figsize"] = 5,4
# 生成 40 个 sin 函数值
x = np.sin(range(40))
# 每x个数计算平均值,即一段内的分布(此处取为1,即为每个数绘制分布)
a = x.reshape(1,-1)
a = np.mean(a, axis=0)
a=a[np.newaxis,:]
# 绘制热力图
figure = plt.figure()
axes = figure.add_subplot(211)
axes.matshow(a,aspect ="auto",cmap="Spectral_r", interpolation='bilinear')
# 不显示横纵坐标
plt.xticks([])
plt.yticks([])
# 绘制原始数据图
plt.subplot(212)
plt.plot(range(len(x)),x)
# x轴显示范围从第一个数到最后一个
plt.xlim((0,len(x)-1))
plt.show()

attention 热力图绘制原理

难点在于数据获取,获取最后一层梯度数据,即可知道注意力重点,根据梯度数据 resize 到原始数据,再画出热力图(根据数据变化情况),之后与原始数据对应,即可得到网络的高响应热力图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/32187.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springcloud整合gateway

1.新建gateway模块 添加gateway依赖 2.添加gateway配置 2.1配置转发地址 2.2 配置断言规则 3.启动 order-nacos,stock-nocas,gateway模块 3.集成nacos 3.1添加nacos依赖 3.2 配置uri,添加nacos 3.3重启gateway服务

密码学中的SM2

目录 概述 功能 密钥生成 基点G的生成 模数p 密钥生成过程 加解密 加密过程: 解密过程: 数字签名 概述 对第5步r的计算方式分析 对第6步s的计算方式分析 加密模式 优缺点 论文和研究方向推荐 论文 研究方向 概述 SM2是中国密码学算法…

Jupyter notebook运行环境创建

进入到jupyter notebook,没找到自己之前创建的环境xzc_pytorch 进入到Anaconda prompt,输入如下命令 (xzc_pytorch) C:\Users\xzc> conda install ipykernel安装完后,重启jupyter notebook发现还是没有 ,此时选择手动创建,在base环境下执…

Linux系统之部署Etherpad文档编辑器

Linux系统之部署Etherpad文档编辑器 一、Etherpad介绍1.1 Etherpad简介1.2 Etherpad特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统是否安装Node.js 四、部署Node.js 环境4.1 下载Node.js安…

DAY 76 分布式监控平台:zabbix

市场上常用的监控软件: 传统运维:zabbix、 Nagios云原生环境: Prometheus (go语言开发的) zabbix概述 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去…

html实现好看的个人介绍,个人主页模板5(附源码)

文章目录 1.设计来源1.1 主界面1.2 我的介绍界面1.3 我的能力界面1.4 项目案例界面1.5 联系我界面 2.效果和源码2.1 动态效果2.2 源代码2.3 源代码目录 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/13127331…

uniapp——Android 异常: failed to connect to localhost/127.0.0.1

bug解决——携带出现: Waiting to navigate to: /pages/……, do not operate continuously: /pages/…… failed to connect to localhost/127.0.0.1 解决方法: 我的报错:主要是failed to connect to localhost/127.0.0.1引发的Waiting …

Python3 flask-socketio 整合vue

1. 前端说明 前端追加了vue-socket.io的依赖 更新package.json及package-lock.json后,需要补充库 2. 后端说明 服务端需要安装的python包 suse python 3.6.12 Flask_SocketIO-4.3.1-py2.py3-none-any.whl python_socketio-4.6.0-py2.py3-none-any.whl python_…

python爬虫学习简记

目录 页面结构的简单认识 爬虫概念理解 urllib库使用 爬虫解析工具xpath JsonPath Selenium requests基本使用 scrapy 页面结构的简单认识 如图是我们在pycharm中创建一个HTML文件后所看到的内容 这里我们需要认识的是上图的代码结构,即html标签包含了hea…

前端页面的性能测试

目录 前言: 介绍 Lighthouse Cypress和Lighthouse 总结 前言: 前端页面性能测试是指对前端页面的响应时间、加载速度、页面交互性等方面进行测试和评估。 介绍 随着 Web 应用的空前发展,前端业务逐渐复杂,为了处理这些复杂…

编程的未来 - 还有未来么?

缘起 唐门教主上个月某天深夜写了一篇博客 --《编程的未来》,要我谈谈感想。 这也是最近软件工程师们聊得比较多的问题,上周,在上海的 “关东小磨” 和十多位 CSDN 博主聚会的时候,大家也稍微谈了一下这个话题,但是谈…

Vue-全局事件总线(GlobalEventBus)

全局事件总线(GlobalEventBus) 全局事件总线是vue中特别厉害的一种组件中通信的方式,它可以实现任意组件中通信,随便拿出来两个组件就能互通数据,就像对讲机一样,它在开发中用的也是特别的多 1 编写案例 首先准备两个组件&…

diffusion model(三)—— classifier guided diffusion model

classifier guided diffusion model 背景 对于一般的DM(如DDPM, DDIM)的采样过程是直接从一个噪声分布,通过不断采样来生成图片。但这个方法生成的图片类别是随机的,如何生成特定类别的图片呢?这就是clas…

【Vue】Vite基础学习

文章目录 Vite 基础学习一、单页面应用程序二、Vite 基本使用2.1 创建 vite 项目2.2 项目结构2.3 项目运行流程 Vite 基础学习 一、单页面应用程序 单页面应用程序(英文名:Single Page Application)简称 SPA,顾名思义&#xff0c…

Server - 配置安装 Git LFS | BWM-NG | Tmux | BOS 等命令

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131302104 构建实验Docker: nvidia-docker run -it --name git-lfs-[your name] --nethost -p [port]:[port] -v [nfs path…

基于Python+Django+mysql+html图书管理系统

基于PythonDjangomysqlhtml图书管理系统 一、系统介绍二、功能展示1.用户登陆2.用户注册3.密码修改4.图书查询5.图书添加6.图书修改7.图书删除 三、其它系统四、获取源码 一、系统介绍 该系统实现了 用户登陆、用户注册、密码修改、图书查询、图书添加,图书修改、图…

大厂OKR管理法:公开透明是最大特点

大厂OKR管理法:公开透明是最大的特点 仔细想,这是一件破天荒的事情 企业内部大部分的任务“公开透明” 公开透明会减少巨大的沟通成本 每个人的关键任务几乎是全部公开 估计少数的财务、人事、公关方面的不会 趣讲大白话:公开透明损耗少 【趣…

尚硅谷甄选--(暂时不更新,实习,后期有时间更)

文章目录 搭建后台管理系统模板项目的资源地址项目初始化2.1.1环境准备2.1.2初始化项目2.2项目配置一、eslint配置1.1vue3环境代码校验插件1.2修改.eslintrc.cjs配置文件1.3.eslintignore忽略文件1.4运行脚本 二、配置**prettier**2.1安装依赖包2.2.prettierrc.json添加规则2.3…

高速电路设计系列分享-熟悉JESD204B(上)

目录 概要 整体架构流程 技术名词解释 技术细节 1.应用层 2.传输层 小结 基本概要 随着高速ADC跨入GSPS范围,与FPGA(定制ASIC)进行数据传输的首选接口协JESD204B。为了捕捉频率范围更高的RF频谱,需要宽带RFADC。在其推动下,对于能够捕捉更宽带…

SpringBoot3 快速入门及原理分析

1. 环境要求 环境&工具版本SpringBoot3.0.5IDEA2021.2.1Java17Maven3.5Tomcat10.0 2. SpringBoot是什么 SpringBoot 能帮我们简单、快速地创建一个独立的、生产级别的 Spring 应用(说明:SpringBoot底层是Spring) SpringBoot 应用只需…