如何用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