Я хочу обновить простую нейронную сеть, используя 2 ячейки LSTM.
Старая архитектура (это работало): Input => RNN => Output
Новая архитектура (с ошибкой значения): Input => LSTM => LSTM => Output
layers = 2
units = 10
outputs = 10
X = tf.placeholder (tf.float32,[None,nr_steps, nr_inputs])
y = tf.placeholder (tf.float32,[None,outputs])
cells = [tf.nn.rnn_cell.BasicLSTMCell (num_units = units)
for _ in range(layers)]
neurons = tf.nn.rnn_cell.MultiRNNCell(cells)
rnn_outputs, rnn_states = tf.nn.dynamic_rnn (neurons, X, dtype = tf.float32)
с BasicRNNCell
кодом работал, но после этого преобразования я получил ошибку
ValueError Shapes (?, 10) and (2,2,?,10) must have the same rank
ValueError Shapes (?, 10) and (2,2,?,10) are not compatible
ValueError logits and labels must have the same shape Shapes (?, 10) vs (2,2,?,10)
Кто-нибудь может мне помочь? Я думаю, что первая 2 из ( 2 , 2,?, 10) происходит из ячеек LSTM (но почему?), А вторая 2 из (2 , 2 ,?, 10) происходит из двух уровней сети (но почему?) И как я могу обработать эту ошибку?