transformer注意力权重系数绘图

参考绘制tsne图,首先将模型中的注意力权重导出,因为我的模型中L=2,所以导出两层

python 复制代码
# plot_weight
weight_model_layer0 = Model(inputs=model.inputs, outputs=model.get_layer('transformer_0').output)
weight_output_layer0 = weight_model_layer0.predict(X_test)
np.save('weight_output_layer0', weight_output_layer0[1])

weight_model_layer1 = Model(inputs=model.inputs, outputs=model.get_layer('transformer_1').output)
weight_output_layer1 = weight_model_layer1.predict(X_test)
np.save('weight_output_layer1', weight_output_layer1[1])

然后,搜到一些使用seaborn绘制热力图的代码,其中我查的比较多的问题是

1、如何修改colorbar字体的大小

2、如何修改xy轴labelsize

3、如何给子图添加标题

就是cbar=False,再重新绘制一个colorbar

参考python使用seaborn画热力图中设置colorbar图例刻度字体大小_seaborn 设置colorbar刻度-CSDN博客

python 复制代码
# 绘制热力图
hm1 = sns.heatmap(attention_per_head_0[0:40, 0:40], cbar=False, cbar_kws={'shrink': 0.8}, square=True, xticklabels='auto', yticklabels='auto')
# 修改xy轴labelsize
hm1.tick_params(labelsize=8)
# 设置标题
hm1.set_title('layer1_head_{}'.format(4), size=12)
# 显示colorbar
cb = hm1.figure.colorbar(hm1.collections[0])  
# 修改colorbar的labelsize
cb.ax.tick_params(labelsize=8)
相关推荐
摘星编程6 小时前
CANN ops-nn 激活函数算子全解析:从ReLU到GELU的演进与实现
python
love530love6 小时前
【高阶编译】Windows 环境下强制编译 Flash Attention:绕过 CUDA 版本不匹配高阶指南
人工智能·windows·python·flash_attn·flash-attn·flash-attention·定制编译
DeniuHe6 小时前
Pytorch中的众数
人工智能·pytorch·python
新缸中之脑6 小时前
开发AI代理必备的8个Python 库
开发语言·人工智能·python
WKP94186 小时前
照片生成心形工具【免费】【下载即可使用】
python
Java后端的Ai之路6 小时前
【Python 教程14】- 网络编程
网络·python·php
郝学胜-神的一滴6 小时前
Python 列表 vs 数组:深入解析与最佳选择指南
开发语言·python·程序人生
ZH15455891316 小时前
Flutter for OpenHarmony Python学习助手实战:机器学习算法实现的实现
python·学习·flutter
小羊不会打字6 小时前
探索 CANN 生态:深入解析 `ops-transformer` 项目
人工智能·深度学习·transformer
Loo国昌6 小时前
【大模型应用开发】第六阶段:模型安全与可解释性
人工智能·深度学习·安全·transformer