Tensorboard - 将一个完全连接的层拆分为 2 个直方图以进行可视化
Tensorboard - Splitting a fully connected layer into 2 histograms for vizualization
我知道我可以使用 tensorboard
在直方图中可视化层的权重
我的问题是,是否可以将一个完全连接的层 "split" 分成两个单独的直方图?因为我有来自 2 个源的输入,这些源在通过完全连接层之前连接在一起,我想查看这 2 个源的权重分布。下面我有一个简单的例子,其中 a
和 b
在通过完全连接的层之前被连接起来。
a 的大小为 1024,b 的大小为 256。外层有 1024 个单元。
out = tf.matmul(tf.concat(values=(a, b), axis=1), weight) + bias
假设您的 weight
具有 1280 x 1024
的形状,您可以先 split 您的 weight
为
weight_a = tf.slice(weight, [0, 0], [1024, 1024])
weight_b = tf.slice(weight, [1024, 0], [1280, 1024])
现在,您可以可视化 weight_a
和 weight_b
。
切片也可以泛化,但由于您明确指定了每个张量的大小,因此上述方法是最快的方法。
我知道我可以使用 tensorboard
我的问题是,是否可以将一个完全连接的层 "split" 分成两个单独的直方图?因为我有来自 2 个源的输入,这些源在通过完全连接层之前连接在一起,我想查看这 2 个源的权重分布。下面我有一个简单的例子,其中 a
和 b
在通过完全连接的层之前被连接起来。
a 的大小为 1024,b 的大小为 256。外层有 1024 个单元。
out = tf.matmul(tf.concat(values=(a, b), axis=1), weight) + bias
假设您的 weight
具有 1280 x 1024
的形状,您可以先 split 您的 weight
为
weight_a = tf.slice(weight, [0, 0], [1024, 1024])
weight_b = tf.slice(weight, [1024, 0], [1280, 1024])
现在,您可以可视化 weight_a
和 weight_b
。
切片也可以泛化,但由于您明确指定了每个张量的大小,因此上述方法是最快的方法。