如何用keras更好地组织tensorboard中的节点?
How to better organize the nodes in tensorboard with keras?
我正在使用 keras 而不是处理 tensorflow,因为它很简单。但是当我试图通过将 keras.callbacks.Tensorboard
实例发送到 model.fit()
的 callbacks
参数来可视化 keras 中的计算图时。我从 tensorboard
得到的图表太尴尬了,
出于演示目的,我在这里只构建了一个非常简单的线性分类器,在 1 个密集层中有 1 个单元。但图表看起来像这样:
我可以做与我们在 tensorflow 中所做的相同的事情吗,比如使用 name_space 将事物组合在一起并给出层、偏差、权重名称?我的意思是,在此处的图表中,它是如此混乱,我只能理解 Dense
层和一个 logistic loss
命名空间。但通常使用 tensorflow,我们可以看到类似 train
命名空间的东西,这里没有太多没有命名空间的节点。我怎样才能更清楚?
Tensorflow 图显示了所有被调用的计算。你将无法简化它。
作为替代方案,Keras 有自己的逐层图。这显示了您网络的清晰简洁的结构。您可以通过调用
来生成它
from keras.utils import plot_model
plot_model(model, to_file='/some/pathname/model.png')
最后,您还可以调用 model.summary()
,它会生成带有附加摘要的文本版本的图表。
这是 model.summary()
的输出,例如:
Layer (type) Output Shape Param # Connected to
====================================================================================================
input_1 (InputLayer) (None, 2048) 0
____________________________________________________________________________________________________
activation_1 (Activation) (None, 2048) 0
____________________________________________________________________________________________________
dense_1 (Dense) (None, 511) 1047039
____________________________________________________________________________________________________
activation_2 (Activation) (None, 511) 0
____________________________________________________________________________________________________
decoder_layer_1 (DecoderLayer) (None, 512) 0
____________________________________________________________________________________________________
ctg_output (OrLayer) (None, 201) 102912
____________________________________________________________________________________________________
att_output (OrLayer) (None, 312) 159744
====================================================================================================
Total params: 1,309,695.0
Trainable params: 1,309,695.0
Non-trainable params: 0.0
我正在使用 keras 而不是处理 tensorflow,因为它很简单。但是当我试图通过将 keras.callbacks.Tensorboard
实例发送到 model.fit()
的 callbacks
参数来可视化 keras 中的计算图时。我从 tensorboard
得到的图表太尴尬了,
出于演示目的,我在这里只构建了一个非常简单的线性分类器,在 1 个密集层中有 1 个单元。但图表看起来像这样:
我可以做与我们在 tensorflow 中所做的相同的事情吗,比如使用 name_space 将事物组合在一起并给出层、偏差、权重名称?我的意思是,在此处的图表中,它是如此混乱,我只能理解 Dense
层和一个 logistic loss
命名空间。但通常使用 tensorflow,我们可以看到类似 train
命名空间的东西,这里没有太多没有命名空间的节点。我怎样才能更清楚?
Tensorflow 图显示了所有被调用的计算。你将无法简化它。
作为替代方案,Keras 有自己的逐层图。这显示了您网络的清晰简洁的结构。您可以通过调用
来生成它from keras.utils import plot_model
plot_model(model, to_file='/some/pathname/model.png')
最后,您还可以调用 model.summary()
,它会生成带有附加摘要的文本版本的图表。
这是 model.summary()
的输出,例如:
Layer (type) Output Shape Param # Connected to
====================================================================================================
input_1 (InputLayer) (None, 2048) 0
____________________________________________________________________________________________________
activation_1 (Activation) (None, 2048) 0
____________________________________________________________________________________________________
dense_1 (Dense) (None, 511) 1047039
____________________________________________________________________________________________________
activation_2 (Activation) (None, 511) 0
____________________________________________________________________________________________________
decoder_layer_1 (DecoderLayer) (None, 512) 0
____________________________________________________________________________________________________
ctg_output (OrLayer) (None, 201) 102912
____________________________________________________________________________________________________
att_output (OrLayer) (None, 312) 159744
====================================================================================================
Total params: 1,309,695.0
Trainable params: 1,309,695.0
Non-trainable params: 0.0