使用功能API,我指定了一个复杂的模型。我重复使用此模型几次,如指定:
def build_model():
# build a model
model = Model(..., name="complex_model")
return model
complex_model = build_model() # return a Keras model
input_a = Input(...)
input_b = Input(...)
inst_a = complex_model(input_a)
inst_b = complex_model(input_b)
merged = ... # merge inst_a, inst_b
output = Dense(..., name="last_dense")(merged)
model = Model(inputs=[input_a, input_b], outputs=output)
model.compile(...)
model.fit(..., callbacks=...) # see below for callbacks
我想使用TensorBoard可视化某些图层的权重。这可以很容易地为 last_dense 层完成,如
ks.callbacks.TensorBoard(..., embeddings_freq=1, embeddings_layer_names=["last_dense"])
但是如何访问复杂模型中的图层? 假设我想访问一个名为 first_dense 的图层,以下两种图片都不起作用:
ks.callbacks.TensorBoard(..., embeddings_freq=1, embeddings_layer_names=["first_dense"]
ks.callbacks.TensorBoard(..., embeddings_freq=1, embeddings_layer_names=["complex_model/first_dense"]
相反,它会抛出一个
ValueError: No variables to save
是否有可能访问此图层,如果可以,如何访问?