Логиты и метки ValueError должны иметь одинаковую форму (?, 10) и (2,2,?, 10) - PullRequest
0 голосов
/ 05 июля 2018

Я хочу обновить простую нейронную сеть, используя 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) происходит из двух уровней сети (но почему?) И как я могу обработать эту ошибку?

...