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)
相关推荐
仟濹35 分钟前
「Matplotlib 入门指南」 Python 数据可视化分析【数据分析全栈攻略:爬虫+处理+可视化+报告】
python·信息可视化·数据分析·matplotlib
先做个垃圾出来………1 小时前
什么是装饰器?
开发语言·python
ayuan01192 小时前
Day54打卡 @浙大疏锦行
python
我想吹水3 小时前
vscode python debugger 如何调试老版本python
vscode·python·python debugger
这里有鱼汤3 小时前
1年10倍,全网都在说的尾盘选股法我用Python帮你们实现了
后端·python
扉间7985 小时前
Transformer 核心概念转化为夏日生活类比
人工智能·transformer
vlln9 小时前
【论文解读】OmegaPRM:MCTS驱动的自动化过程监督,赋能LLM数学推理新高度
人工智能·深度学习·神经网络·搜索引擎·transformer
2501_915374359 小时前
LangChain自动化工作流实战教程:从任务编排到智能决策
python·langchain·自动化
chilavert31810 小时前
深入剖析AI大模型:Prompt 开发工具与Python API 调用与技术融合
人工智能·python·prompt
Mallow Flowers12 小时前
Python训练营-Day31-文件的拆分和使用
开发语言·人工智能·python·算法·机器学习