Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow多对多RNN(LSTM)输出形状_Python_Tensorflow_Deep Learning_Lstm - Fatal编程技术网

Python Tensorflow多对多RNN(LSTM)输出形状

Python Tensorflow多对多RNN(LSTM)输出形状,python,tensorflow,deep-learning,lstm,Python,Tensorflow,Deep Learning,Lstm,我有一些序列数据(大约200k个样本,每个样本有26个时间步,有三个不同的特征)。我试着运行一个LSTM训练来预测第27个时间步中的特征 到目前为止,我的模型看起来像: input_dx1 = Input(shape=( n_steps, 1), name='input_dx1') input_dx2 = Input(shape=( n_steps,1), name='input_dx2') input_dx3 = Input(shape=( n_steps,1), name='input_dx

我有一些序列数据(大约200k个样本,每个样本有26个时间步,有三个不同的特征)。我试着运行一个LSTM训练来预测第27个时间步中的特征

到目前为止,我的模型看起来像:

input_dx1 = Input(shape=( n_steps, 1), name='input_dx1')
input_dx2 = Input(shape=( n_steps,1), name='input_dx2')
input_dx3 = Input(shape=( n_steps,1), name='input_dx3')

lstm_dx1 = LSTM(32)(input_dx1)
lstm_dx2 = LSTM(32)(input_dx2)
lstm_dx3 = LSTM(32)(input_dx3)

output_dx1 = Dense(26, activation = 'softmax' )(lstm_dx1)
output_dx2 = Dense(26, activation = 'softmax')(lstm_dx2)
output_dx3 = Dense(26, activation = 'softmax')(lstm_dx3)

model = Model( [ input_dx1, input_dx2, input_dx3], [output_dx1, output_dx2, output_dx3])


Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_dx1 (InputLayer)          [(None, 26, 1)]      0                                            
__________________________________________________________________________________________________
input_dx2 (InputLayer)          [(None, 26, 1)]      0                                            
__________________________________________________________________________________________________
input_dx3 (InputLayer)          [(None, 26, 1)]      0                                            
__________________________________________________________________________________________________
lstm_44 (LSTM)                  (None, 32)           4352        input_dx1[0][0]                  
__________________________________________________________________________________________________
lstm_45 (LSTM)                  (None, 32)           4352        input_dx2[0][0]                  
__________________________________________________________________________________________________
lstm_46 (LSTM)                  (None, 32)           4352        input_dx3[0][0]                  
__________________________________________________________________________________________________
dense_34 (Dense)                (None, 26)           858         lstm_44[0][0]                    
__________________________________________________________________________________________________
dense_35 (Dense)                (None, 26)           858         lstm_45[0][0]                    
__________________________________________________________________________________________________
dense_36 (Dense)                (None, 26)           858         lstm_46[0][0]                    
==================================================================================================
Total params: 15,630
Trainable params: 15,630
Non-trainable params: 0
________________________________________________________________________________________________
模型摘要如下所示:

input_dx1 = Input(shape=( n_steps, 1), name='input_dx1')
input_dx2 = Input(shape=( n_steps,1), name='input_dx2')
input_dx3 = Input(shape=( n_steps,1), name='input_dx3')

lstm_dx1 = LSTM(32)(input_dx1)
lstm_dx2 = LSTM(32)(input_dx2)
lstm_dx3 = LSTM(32)(input_dx3)

output_dx1 = Dense(26, activation = 'softmax' )(lstm_dx1)
output_dx2 = Dense(26, activation = 'softmax')(lstm_dx2)
output_dx3 = Dense(26, activation = 'softmax')(lstm_dx3)

model = Model( [ input_dx1, input_dx2, input_dx3], [output_dx1, output_dx2, output_dx3])


Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_dx1 (InputLayer)          [(None, 26, 1)]      0                                            
__________________________________________________________________________________________________
input_dx2 (InputLayer)          [(None, 26, 1)]      0                                            
__________________________________________________________________________________________________
input_dx3 (InputLayer)          [(None, 26, 1)]      0                                            
__________________________________________________________________________________________________
lstm_44 (LSTM)                  (None, 32)           4352        input_dx1[0][0]                  
__________________________________________________________________________________________________
lstm_45 (LSTM)                  (None, 32)           4352        input_dx2[0][0]                  
__________________________________________________________________________________________________
lstm_46 (LSTM)                  (None, 32)           4352        input_dx3[0][0]                  
__________________________________________________________________________________________________
dense_34 (Dense)                (None, 26)           858         lstm_44[0][0]                    
__________________________________________________________________________________________________
dense_35 (Dense)                (None, 26)           858         lstm_45[0][0]                    
__________________________________________________________________________________________________
dense_36 (Dense)                (None, 26)           858         lstm_46[0][0]                    
==================================================================================================
Total params: 15,630
Trainable params: 15,630
Non-trainable params: 0
________________________________________________________________________________________________
但是当我跑的时候

from tensorflow.keras.optimizers import SGD, Adam
model.compile(optimizer=Adam(lr=0.1), loss='sparse_categorical_crossentropy',metrics='accuracy' )
model.fit([ X_tr_dx1, X_tr_dx2, X_tr_dx3], [Y_tr_dx1, Y_tr_dx2, Y_tr_dx3], epochs=1, batch_size =26)
我得到了一个错误
ValueError:cannot squeeze dim[1],预期维度为1,对于输入形状为[?,26]的“{node squeeze}}}=squeeze[T=DT_FLOAT,squeeze_dims=[-1]](remove_squeezable_dimensions/squeeze)得到了26

我的
Y_tr_dx1.shape
返回
(238219,26,1)
,这很有意义:我有大约200k个样本,每个样本有26个Y测量值,范围从
t2,t3…t27
到表示我在
t1,t2,…t26时提供的26个X值之后的序列中的“下一个”项。每个值本身都是一个整数编码的值,所以我使用的是
sparse\u categorical\u crossentropy

为什么我的
model.fit()
仍然给我一个尺寸错误