gpt4 book ai didi

keras - 在 Keras 中显示模型布局/设计(包括所有连接)

转载 作者:行者123 更新时间:2023-12-01 00:22:13 27 4
gpt4 key购买 nike

与我从 .h5 加载经过训练的模型相比,在训练后测试 Keras LSTM 模型时,我有很大的不同。文件(第一个的准确度总是 > 0.85,但后者的准确度总是低于 < 0.2,即随机猜测)。

但是我检查了权重,它们是相同的,也是 Keras 通过 plot_model 给我的稀疏布局是一样的,但由于这只能检索粗略的概述:

是否可以显示 Keras 模型的完整布局(尤其是节点连接)?

最佳答案

如果您使用 tensorflow 后端,除了 plot_model ,您也可以使用 keras.callbacks.TensorBoard 回调以在 tensorboard 中可视化整个图形。例子:

callback = keras.callbacks.TensorBoard(log_dir='./graph', 
histogram_freq=0,
write_graph=True,
write_images=True)
model.fit(..., callbacks=[callback])

然后运行 ​​ tensorboard --logdir ./graph来自同一个目录。

这是一个快速的捷径,但你可以走得更远。
例如,添加 tensorflow 代码以在自定义 tf.Graph 中定义(加载)模型例如,像这样:

from keras.layers import LSTM
import tensorflow as tf

my_graph = tf.Graph()
with my_graph.as_default():
# All ops / variables in the LSTM layer are created as part of our graph
x = tf.placeholder(tf.float32, shape=(None, 20, 64))
y = LSTM(32)(x)

..之后你可以 list all graph nodes with dependencies , evaluate any variable , display the graph topology等等,以比较模型。

我个人认为, 最简单的方法是设置您自己的 session .它适用于所有情况,只需最少的修补:

import tensorflow as tf
from keras import backend as K

sess = tf.Session()
K.set_session(sess)
...
# Now can evaluate / access any node in this session, e.g. `sess.graph`

关于keras - 在 Keras 中显示模型布局/设计(包括所有连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47695742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com