亲宝软件园·资讯

展开

TensorBoard中HISTOGRAMS和DISTRIBUTIONS图形的含义

臭咸鱼 人气:1
# 前言 之前我都是用TensorBoard记录训练过程中的Loss、mAP等标量,很容易就知道TensorBoard里的SCALARS(标量)图是怎么看的(其中横纵轴的含义、Smoothing等)。 最近在尝试模型压缩,其中的一个步骤是对模型进行稀疏训练。 稀疏训练时需要记录模型中BN层的Gamma值的**分布情况**(取哪些值,这些值出现的次数/频度),这时用TensorBoard里的SCALARS之类的图就不合适了,而是应该用TensorBoard里的**HISTOGRAMS**(直方图)和**DISTRIBUTIONS**(暂未找到合适的译文)。 所以我昨天学习、了解了一点HISTOGRAMS和DISTRIBUTIONS,今天做了一部分简单记录,具体见下文。 # 正文 HISTOGRAMS和DISTRIBUTIONS这两种图的数据源是相同的,只是从不同的视角、以不同的方式来表示数据的分布情况。 下面先介绍HISTOGRAMS,再介绍DISTRIBUTIONS。 ## HISTOGRAMS ![HISTOGRAMS](https://images.cnblogs.com/cnblogs_com/chouxianyu/1511971/o_200402115112HISTOGRAMS.jpg) 上图是TensorBoard生成的一个直方图(OFFEST模式),下面介绍图中几个元素的含义。 - **数据源** - 数据源是**多**个**一维数组** - 也在别处看到说可以是多维数组,但会被压缩成一维的,有兴趣的小伙伴可以具体研究一下 - 如果你只有1个数组,也是可以的 - **当鼠标放在图上时出现的一条黑线和数字** - 鼠标放在图上出现的一条黑线,就对应数据源里的**一个一维数组** - 上图中显示的黑线是我的第40个数组 - **图下方的横轴** - 横轴的值和数组内元素的取值对应 - **图右方的纵轴** - 纵轴的值对应着是哪一个数组,或者说数组的id、index - **颜色** - 可以看到上图中的颜色是渐变的,靠上(id小)的颜色深,靠下(id大)的颜色浅 - 上面的用词比较“学术化”,如果看不懂,就看下边的这个解释吧 - 我的数据有99个数组,0到98,但右侧的纵轴值只标到了90 - 数组元素的分布范围是横轴上的数字,可以看出我的每个数组元素的取值大约集中在0到0.2,超过1.5的都很少 - 我的第40个数组(说法不严谨,准确地说是id为40)大约有505个元素的值为0.536左右 - 如果还是不懂的话,建议先去看看直方图是什么 ## DISTRIBUTIONS ![DISTRIBUTIONS](https://images.cnblogs.com/cnblogs_com/chouxianyu/1511971/o_200402115157DISTRIBUTIONS.jpg) 把HISTOGRAMS搞懂后,这个图很好懂的,这个图的数据源和HISTOGRAMS一样。 - **横轴** - 横轴是对应哪个数组 - **纵轴** - 数组中元素的取值 - **颜色** - 颜色深代表对应值出现的频数高 - 如上图,我的99个数组从0到98,数组中元素的取值慢慢地趋近于0 --- 作者:[@臭咸鱼](https://github.com/chouxianyu) 转载请注明出处: 欢迎讨论和交流! ---

加载全部内容

相关教程
猜你喜欢
用户评论