编程语言
首页 > 编程语言> > python – 基于功能API构建的模型的Keras可视化

python – 基于功能API构建的模型的Keras可视化

作者:互联网

我想询问是否有一种简单的方法可视化从Functional API构建的Keras模型?

现在,为我调试高级顺序模型的最佳方法是:

model = Sequential()
model.add(...
...

print(model.summary())
SVG(model_to_dot(model).create(prog='dot', format='svg'))

但是,如果我们构建一个更复杂的非顺序模型,我很难找到一种可视化Keras API的好方法.

解决方法:

是的,请尝试检查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上可视化,您可以在Keras中使用TensorBoard Callback进行搜索.这使您可以直观地显示您的培训和感兴趣的指标,以及有关图层激活,偏见和内核等的一些信息.基本上,您必须在安装模型之前将此代码添加到您的程序中:

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的使用当然有更多的选择,所以如果你考虑使用它,我建议你查看附带的链接.

标签:python,tensorflow,keras,graph-visualization
来源: https://codeday.me/bug/20191001/1838179.html