0
Meine Frage ist, bidirektionale LSTM-Zellen (fw_cell und bw_cell) im Tensorflow zu definieren. Wir definieren fw_cell und bw_cell unabhängig oder gleich?Bidirektionale LSTM-Zellen in TensorFlow
Meine Frage ist, bidirektionale LSTM-Zellen (fw_cell und bw_cell) im Tensorflow zu definieren. Wir definieren fw_cell und bw_cell unabhängig oder gleich?Bidirektionale LSTM-Zellen in TensorFlow
können Sie eine Funktion erstellen, die jede Zelle separat definiert, können Sie so etwas wie folgt verwenden:
def lstm_rnn_cell(num_units, dropout):
_cell = tf.nn.rnn_cell.LSTMCell(num_units,state_is_tuple = True)
_cell = tf.contrib.rnn.DropoutWrapper(_cell, output_keep_prob = dropout)
return _cell
und dann können Sie tun:
fw_cell = tf.nn.rnn_cell.MultiRNNCell([lstm_rnn_cell(rnn_size, dropout = dropout) for _ in range(num_layers)], state_is_tuple = True)
bw_cell = tf.nn.rnn_cell.MultiRNNCell([lstm_rnn_cell(rnn_size, dropout = dropout) for _ in range(num_layers)], state_is_tuple = True)
in diesem Beispiel ich eine MultiRNNCell
verwendet, so Sie können auch die Anzahl der Layer für die gegebene RNN definieren, indem Sie num_layers
ändern. Sie können beides tun – Pop