Ich versuche ein multivariates Zeitreihenvorhersagemodell zu erstellen. Ich folgte dem folgenden Tutorial zur Temperaturvorhersage. http://nbviewer.jupyter.org/github/addfor/tutorials/blob/master/machine_learning/ml16v04_forecasting_with_LSTM.ipynbLSTM kann nicht mit MultiRNNCell und dynamic_rnn gestapelt werden
Ich will sein Modell erweitern, indem Sie folgenden Code auf mehrschichtige LSTM Modell:
cell = tf.contrib.rnn.LSTMCell(hidden, state_is_tuple=True)
cell = tf.contrib.rnn.MultiRNNCell([cell] * num_layers,state_is_tuple=True)
output, _ = tf.nn.dynamic_rnn(cell=cell, inputs=features, dtype=tf.float32)
aber ich habe einen Fehler zu sagen:
ValueError: Dimensions must be equal, but are 256 and 142 for 'rnn/while/rnn/multi_rnn_cell/cell_0/cell_0/lstm_cell/MatMul_1' (op: 'MatMul') with input shapes: [?,256], [142,512].
Als ich dies versucht:
cell = []
for i in range(num_layers):
cell.append(tf.contrib.rnn.LSTMCell(hidden, state_is_tuple=True))
cell = tf.contrib.rnn.MultiRNNCell(cell,state_is_tuple=True)
output, _ = tf.nn.dynamic_rnn(cell=cell, inputs=features, dtype=tf.float32)
Ich habe keinen solchen Fehler, aber die Vorhersage ist wirklich schlecht.
Ich definiere hidden=128
.
features = tf.reshape(features, [-1, n_steps, n_input])
hat Form (?,1,14)
für Einschichtgehäuse.
sehen meine Daten wie diese x.shape=(594,14), y.shape=(591,1)
Ich bin so verwirrt, wie LSTM Zelle in tensorflow zu stapeln. Meine Tensorflow-Version ist 0.14.
Vielen Dank für Ihre Erklärung. Ich bin immer noch verwirrt: – zdarktknight
worüber bist du verwirrt? –
Warum ist die 1. Karte 14 (das ist die Dimension meiner Features) bis 256 (das ist meine Batch-Größe). – zdarktknight