2017-12-12 39 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の機能があります。など63のタイムステップ0である第1のシーケンス、64秒というタイムステップ1、

ネットワークがうまく構築しますが、私はこのエラーを取得フィット法で:

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

誰でも提案を持っています私の問題は?

答えて

0

あなたのスニペットにはありませんが、trainXの形は(64, 17)のようです。もしそうなら、あなたはサイズ1のバッチoを、それを再構築する必要があります

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

testXについて同じことを。

関連する問題