2017-12-12 22 views
0

나는 시퀀스를 취하여 각 시퀀스의 마지막 시간 단계를 분류하는 LSTM 네트워크를 구축하려고합니다.TFLearn LSTM 시계열 분류

이것은 내가 지금까지 무엇을 가지고 :

#build 
net = tf.input_data(shape=[None, 64, 17]) 
net = tf.lstm(net, 128, dropout=[.2,.8], return_seq=True) 
net = tf.lstm(net, 128, dropout=[.2,.8], return_seq=True) 
net = tf.lstm(net, 128, dropout=[.2,.8]) 
net = tf.fully_connected(net, 3, activation='softmax') 
net = tf.regression(net, optimizer='adam', learning_rate=0.01, loss='categorical_crossentropy') 

#train 
model = tf.DNN(net, tensorboard_verbose=0) 
model.fit(trainX, trainY, validation_set=(testX,testY), show_metric=True, batch_size=None) 

내 데이터는 각 64 시간 단계 오래 인 상태 시퀀스의 다수로 형성되고있다. 각 타임 스텝에는 17 가지 기능이 있습니다.

'ValueError: Cannot feed value of shape (64,17) for Tensor 'InputData/X:0', which has shape (?,64,17)

누구나 제안이있다 : 첫 번째 시퀀스 인 시간 단계 0 ~ 63 번째 존재는 1 등

네트워크가 잘 구축하지만 맞는 방법 I이 오류가 64에 시간 단계 내 문제는?

답변

0

코드 조각에 포함되어 있지 않지만 trainX 모양이 (64, 17) 인 것 같습니다. 그렇다면, 당신은 크기 1의 배치 O를 그 모양을 변경해야합니다

trainX = np.expand_dims(trainX, 0) # now it's [1, 64, 17] 

testX에 대한 동일합니다.