我没有。每个大小为“ m”的向量。我需要将它们发送到keras的SimpleRNN。应该发送矢量,以使RNN的每个神经元都带有一个矢量(例如,矢量1到神经元1,矢量2 t神经元2等)以及先前输入矢量的隐藏状态。
我尝试将它们串联起来,但这扭曲了输入的性质。
input1 = Dense(20, activation = "relu")(input1)
input2 = Dense(20, activation = "relu")(input2)
我需要将这些向量(input1和input2)发送到RNN。
答案 0 :(得分:0)
您可以在Tensorflow中使用tf.stack
或在Keras中使用keras.backend.stack
。该运算符:
将等级R张量的列表堆叠到一个等级R(R + 1)张量中
根据您的代码,Dense layers
可以通过以下方式堆叠:
import tensorflow as tf
inps1 = tf.keras.layers.Input(shape=(30,))
inps2 = tf.keras.layers.Input(shape=(30,))
dense1 = tf.keras.layers.Dense(20, activation='relu')(inps1)
dense2 = tf.keras.layers.Dense(20, activation='relu')(inps2)
dense = tf.keras.layers.Lambda(lambda x: tf.stack([x[0], x[1]], axis=1), output_shape=(None, 2, 20))([dense1, dense2])
rnn = tf.keras.layers.SimpleRNN(100)(dense)