繁体   English   中英

是否可以使用 tf.keras.models.clone_model 来改变数据输入的形状?

[英]Is it possible to use tf.keras.models.clone_model to change shape of data input?

我想使用该方法clone_modeltf.keras和改变由所述功能API创建的tensorflow / keras模型的输入形状。 因此,我尝试使用参数input_tensor来改变形状。 但是,它似乎没有使用提供的input_tensors并且名称和形状与原始模型保持一致。 参数input_tensors打算用于什么?

代码:

import tensorflow as tf
from tensorflow.keras import layers

inputs_small = layers.Input((64, 64, 3), name="small")

outputs = layers.Conv2D(32, 1)(inputs_small)
model_small = tf.keras.models.Model(inputs=inputs_small, outputs=outputs)


inputs_large = layers.Input((128, 128, 3), name="large")
model_large = tf.keras.models.clone_model(model_small, input_tensors=inputs_large)

model_large.summary()

结果是:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
small (InputLayer)           [(None, 64, 64, 3)]       0         
_________________________________________________________________
conv2d (Conv2D)              (None, 64, 64, 32)        128       
=================================================================

但我喜欢:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
large (InputLayer)           [(None, 128, 128, 3)]     0         
_________________________________________________________________
conv2d (Conv2D)              (None, 128, 128, 32)      128       
=================================================================

我使用 TensorFlow 2.4.1。 我简化了我的问题。 在我的代码中,我还使用了clone_function的参数clone_model来替换层。

我进一步调查并发现了一个 Keras 错误: https : //github.com/keras-team/keras/issues/14937

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM