tensorflow - 可视化卷积层的权重
问题描述
我正在尝试将我从头开始训练的 Inception (v2) 模型的第一层 (conv2d) 的权重可视化,作为学习练习。我的目标是看到这样的东西:
训练 48 小时后,我的体重是这样的:
我意识到模型尚未收敛,但我的印象是我没有正确保存这些图像。将这些权重保存为图像的正确方法是什么?这是 7x7 过滤器之一的样子:
[[[-0.05254178 -0.32257697 -1.12509501]
[-0.0577225 0.05430533 0.36126333]
[-0.60956329 -1.30094147 -0.94367725]
[ 0.54475862 -0.59896839 0.15690225]
[-0.97573054 1.32717788 -1.60333276]
[ 0.15729432 0.75963998 -1.15895975]
[ 0.44433147 -0.59633678 0.85462248]]
[[-1.25177848 -0.22818488 0.59435815]
[-0.33860862 -0.57336748 -0.98618352]
[ 0.72633511 -1.13217747 -1.76324153]
[ 0.51535034 -1.67747593 0.65356445]
[-0.35212585 0.30183136 -0.56150651]
[-0.76186991 0.82538754 -0.97745162]
[-0.59434128 0.83723128 0.87456381]]
[[ 1.45617723 -0.76524097 -0.86497647]
[-1.26491678 0.17541747 1.15705132]
[-1.08001506 0.85055047 0.85818022]
[ 0.74638301 0.62615412 0.82004201]
[-0.18160205 -1.20272303 -0.83150953]
[ 0.10087592 -0.81851184 -0.42592993]
[-0.55882829 -0.17606784 0.18895631]]
[[ 0.3052578 -0.96171474 -1.50700831]
[ 1.42404032 0.76130313 -0.76801056]
[ 1.17354596 -0.95108169 -1.26256537]
[-0.31658572 -1.77376604 0.51870042]
[-1.15100074 -0.10693484 1.1963098 ]
[-0.71053046 -0.0048219 0.04927144]
[-0.54291326 0.53240746 0.07321835]]
[[ 1.30089164 -0.80944502 -0.73323363]
[-0.23359792 1.8435204 0.40987673]
[-1.03293586 -0.47056404 1.50919926]
[ 0.16482946 -0.70123744 -0.1847167 ]
[ 0.8541984 -0.65718001 -0.72896409]
[-0.35303 1.07880664 -0.47393021]
[ 0.31868654 -0.32843634 -0.1771179 ]]
[[ 0.51924646 -0.17256238 0.36290699]
[ 1.49726737 -1.06288946 0.0867526 ]
[-0.0572592 1.11176336 1.13637185]
[-1.85817802 -0.77071941 -1.24363136]
[ 1.39292431 0.80537623 -0.74663389]
[ 0.78745258 -0.12404614 0.52013248]
[-0.63301861 -0.09680288 -0.75839919]]
[[ 0.53743452 0.40094584 1.37857044]
[-1.42719209 -0.21600421 0.66738045]
[-0.91122359 1.03506982 0.3147507 ]
[-1.41389787 0.44936335 -0.55145448]
[-1.85846198 0.33287755 0.19934106]
[ 0.51051307 -0.62650138 0.7086826 ]
[ 0.05585323 0.07293719 -1.15675306]]]
这是我保存它们的方法:
# Get weights from the model
weights = estimator.get_variable_value('Conv2d_1a_7x7/weights')
for index in range(64):
plt.imsave('weights-{}.png'.format(path, index), weights[:, :, :, index])
解决方案
推荐阅读
- azure - 从 asp 核心网站导入带有 powershell 的模块
- ios - 是否可以在 iOS 上进行订阅免费试用的 A/B 测试?
- kubernetes - Google Kubernetes Engine:恢复服务帐号
- java - 处理 TIF 文件——将此转换从 ImageMagick 转换为 Java
- javascript - window["uppload-vue"].default 在做什么?
- c# - 如果选择的记录加上相邻的两条记录加起来达到一定数量,是否可以选择一条记录进行处理?
- python - 如何在同一应用程序中为处理程序和基于类的视图设置 CORS
- javascript - 在 ngmodel 角度检查可空值
- angular - 打字稿这是功能不同的东西
- html - inline-flex 样式不完全与有序列表内联