Keras模型的图形表示

问题描述

获得可操作的Keras模型的图形表示的最佳方法是什么。具体来说,我正在寻找与model_to_dot函数非常相似的功能,该函数取消嵌套模块的嵌套,但是该函数将所有层作为具有边列表的节点(而不只是它们的名称和尺寸)返回。目标不是可视化网络,而是基于该网络创建增强网络。

解决方法

您可以使用TensorBoard实用程序。具体来说,在训练网络时,请添加以下回调:

            callbacks = []
            callbacks.append(tf.keras.callbacks.TensorBoard(log_dir="some_directory",histogram_freq=1))
            model.fit(train,epochs=EPOCHS,steps_per_epoch=int(train_size / BATCH_SIZE),validation_data=val,validation_steps=int(val_size / BATCH_SIZE),validation_freq=1,callbacks=callbacks)

培训结束后,从命令行或在jupyter笔记本中运行命令tensorboard --logdir some_directory。您还可以在进行培训时可视化所有内容。除其他信息外,还有一个实用程序,可将您的网络显示为有向图。 TensorBoard Start Guide