是的,请尝试检查keras.utils,它有一个方法plot_model(),详细说明here。似乎您已经熟悉keras.utils.vis_utils 和model_to_dot 方法,但这是另一种选择。它的用法是这样的:
from keras.utils import plot_model
plot_model(model, to_file='model.png')
说实话,这是我仅使用 Keras 找到的最好的。像您一样使用model.summary() 有时也很有用。我还希望有一些工具可以更好地可视化模型,甚至可以查看每层的权重,以决定最佳网络结构和初始化(如果你知道一个,请告诉 :])。
您目前拥有的最佳选择可能是在 Tensorboard 上可视化事物,您可以通过 TensorBoard 回调将其包含在 Keras 中。这使您能够可视化您的训练和感兴趣的指标,以及有关层激活、偏差和内核等的一些信息。基本上,在拟合模型之前,您必须将此代码添加到您的程序中:
from keras.callbacks import TensorBoard
#indicate folder to save, plus other options
tensorboard = TensorBoard(log_dir='./logs/run1', histogram_freq=1,
write_graph=True, write_images=False)
#save it in your callback list, where you can include other callbacks
callbacks_list = [tensorboard]
#then pass to fit as callback, remember to use validation_data also
regressor.fit(X, Y, callbacks=callbacks_list, epochs=64,
validation_data=(X_test, Y_test), shuffle=True)
然后,您可以在终端上使用以下命令运行 Tensorboard(在 Web 服务上本地运行):
tensorboard --logdir=/logs/run1
这将指示您在哪个端口可视化您的训练。如果你有不同的运行,你可以传递--logdir=/logs,而不是能够将它们一起可视化以进行比较。 Tensorboard 的使用当然还有更多的选择,所以如果你正在考虑使用它,我建议你查看包含的链接。