动态地将节点添加到TF图将使其执行速度非常慢。
我有一个带有TF后端的Keras型号,我目前正在调试。这个体系结构非常复杂,有很多自定义层,所以我想确保在编译图形之后不添加节点。在过去,我使用sess.graph.finalize()
作为断言;然而,这似乎不适用于Keras模型。使用RuntimeError: Graph is finalized and cannot be modified.
import keras
import numpy as np
x = y = np.linspace(0,10)
X = keras.layers.Input(shape=(1,))
_Y = keras.layers.Dense(1)(X)
Y = keras.models.Model(X, _Y)
Y.compile(loss='mean_squared_error', optimizer='sgd')
sess = keras.backend.get_session()
sess.graph.finalize()
Y.fit(x, y, epochs=5)
在Keras执行此检查的正确方法是什么?