克隆模型时,输入层不显示在clone_function中



嗨,我有一个具有这种结构的简单神经网络

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实例除外)。

所以改变网络不会有帮助,也许有一个解决办法,你应该打开一个问题,你的最终需求

相关内容

  • 没有找到相关文章

最新更新