Tensorflow 如何在keras中将多个层作为时间步长提供给LSTM
我想给lstm两个独立的神经网络,作为2个时间步。这是我的代码:Tensorflow 如何在keras中将多个层作为时间步长提供给LSTM,tensorflow,keras,lstm,recurrent-neural-network,Tensorflow,Keras,Lstm,Recurrent Neural Network,我想给lstm两个独立的神经网络,作为2个时间步。这是我的代码: input1 = Input(shape=(self.state_size,1)) input2 = Input(shape=(self.state_size,1)) out1 = Conv1D(12, 5, padding="SAME", activation="relu")(input1) out1 = Flatten()(out1) out1 = Dense(12, activation="relu")(out1) ou
input1 = Input(shape=(self.state_size,1))
input2 = Input(shape=(self.state_size,1))
out1 = Conv1D(12, 5, padding="SAME", activation="relu")(input1)
out1 = Flatten()(out1)
out1 = Dense(12, activation="relu")(out1)
out2 = Conv1D(12, 5, padding="SAME", activation="relu")(input2)
out2 = Flatten()(out2)
out2 = Dense(12, activation="relu")(out2)
out = CuDNNLSTM(1)([out1,out2])
错误是:
ValueError: Input 0 is incompatible with layer cu_dnnlstm_1: expected ndim=3, found ndim=2
指的是:
out = CuDNNLSTM(1)([out1,out2])
我也尝试过:
out = CuDNNLSTM(1)(out1,out2)
我的输入形状是(无,4,1),我需要我的输出形状是(无,1)。显然,CuDNNLSTM的输入形状必须是(无,2,12),但我很难连接out1和out2您将
堆栈中的张量:
steps = Lambda(lambda x: K.stack(x, axis=1))([out1, out2])
out = CuDNNSLTM(1)(steps)
但我不确定一个包含两个步骤的序列会带来常规层所不能达到的效果