如何使用多个输入训练 Keras 模型?

时间:2021-05-24 22:38:40

标签: python tensorflow keras feed

我想训练一个具有多个输入的 Keras 模型。我想使用第一个输入来训练模型,但第二个和第三个输入是必须在第一个输入训练期间使用的变量。我无法使用 tf.Variable 来使用在训练期间修复的第二个和第三个输入,因为它显示了错误:You must feed a placeholder。所以,我想用 tf.keras 喂它们。我将第二个和第三个输入的形状更改为与第一个类似。然后,我使用以下方法连接它们:

inputs = tf.keras.layers.concatenate([data, masks_rep, ind_rep], axis=2)

然后,为了在模型中检索它们,我写道:

Inputs_t = tf.keras.Input(shape=(max_length, 3*charset_length))
x, m_k_expand, ind_k_expand = tf.split(Inputs_t, num_or_size_splits=3,  axis=1)

但是它将层的维度从 charset_length 更改为 3*charset_length。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我们可以使用子类通过使用 tf.Variable 来使用其他变量。 tf.Variabletf.keras.layers 一起使用时很容易导致错误。但是使用子类可以防止错误。此处提供了更多示例:enter link description here

相关问题