嗨,我有一个具有这种结构的简单神经网络
Layer (type) Output Shape Param #
=================================================================
input_2 (InputLayer) [(1, 20)] 0
dense_1 (Dense) (1, 20) 420
predictions (Activation) (1, 20) 0
=================================================================
这是我的网络代码
input = layers.Input(batch_shape=(1, 20))
x = layers.Dense(20)(input)
output = layers.Activation(name="predictions", activation="softmax")(x)
model = Model(inputs=input, outputs=output)
我想克隆模型并使用以下命令修改图层:
def custom_clone_function(layer):
print("layer:", layer)
return layer
cloned_model = tf.keras.models.clone_model(
model,
clone_function=custom_clone_function,
)
输出缺少输入层
layer: <keras.layers.core.dense.Dense object at 0x17ce3b580>
layer: <keras.layers.core.activation.Activation object at 0x17ce3a6b0>
我如何修改我的网络使输入层显示
正如您在文档中看到的,输入层没有传递给clone_function
https://www.tensorflow.org/api_docs/python/tf/keras/models/clone_model args
可调用,用于克隆目标模型中的每一层(InputLayer实例除外)。
所以改变网络不会有帮助,也许有一个解决办法,你应该打开一个问题,你的最终需求