我正在學習如何使用LSTM RNN。 我看到了本教程:https://www.youtube.com/watch?v=SeffmcG42SY& 之後,我嘗試應用所學知識並更改數據集。 問題是,我有點失去了所有的重塑,我真的不知道如何使用它們,爲什麼他們在這裏... 我的數據集有7列和546行。 這裏是我的超參數LSTM張量形狀和超參數Tensorflow
# hyperparameters
lr = 0.001
training_iters = 100000
batch_size = 64
n_inputs = 7 # columns
n_steps = 546 # rows
n_hidden_units = 128 # neurons in hidden layer
n_classes = 1 # class
當我啓動我的會議,它看起來像這樣:
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
step = 0
while step * batch_size < training_iters:
batch_xs, batch_ys = inputX, inputY
batch_xs = batch_xs.reshape([batch_size, n_steps, n_inputs])
sess.run([train_op], feed_dict={
x: batch_xs,
y: batch_ys,
})
if step % 20 == 0:
print(sess.run(accuracy, feed_dict={
x: batch_xs,
y: batch_ys,
}))
step += 1
然後,我有一個錯誤消息
「不能重塑尺寸3822型數組形狀(64,546,7)「
如果有人能解釋我該如何工作和/或如何解決問題,那將非常棒!
謝謝
爲什麼不打印張量形狀以查看它們的尺寸? –
輸入應該是'[batch_size,time_steps,sample_dim]'。在你的數據集中,我假設每一行都有一個長度爲7的序列數據。因此,選擇N行將是你的'batch_size','time_steps'是7,如果它的'one-hot'編碼向量是'sample_dim', –
那麼,我的批量大小是x:(546,7)和y:(546,1)。我的功能不是很熱,所以如果我明白了,我不會有一個樣本暗淡的參數? –