如何处理 Keras 层的重复输入?

How to handle repeated input for a Keras layer?

我有一个 Keras 模型,它有两个输入层。

  1. 形状为 (20,300) 的推文。
  2. 另外五个形状为 (5,20,300) 的推文。然而,此输入对于所有训练示例都是相同的。

换句话说,对于每个训练步骤,都会有一条不同的推文(第一个输入)和相同的五个推文(第二个输入)。我的第二个输入具有 (5,20,300) 的形状,非常大,可以重复 num_samples 次,然后用作 Keras 模型的输入层。 我需要一种方法来在 keras 模型中使用第二个输入但不重复 num_samples 次。

有什么方法可以处理这种类型的输入吗?

使用该常量输入创建一个张量:

fixed_tweets = keras.backend.constant(the_tweets_as_numpy)

使用常规输入和 tensor 输入:

input1 = Input((20,300))
input2 = Input(tensor=fixed_tweets)

去玩吧!!

您可能需要自定义图层来处理 input1(任意)和 input2 (5) 的批量大小之间的差异。