использование выпадающей оболочки, эквивалентной tf.nn.rnn_cell.Выпадающая оболочка в tf.keras.слои

#tensorflow #keras #deep-learning

#tensorflow #keras #глубокое обучение

Вопрос:

Вот как tf.nn.rnn_cell.DropoutWrapper это используется, используя GRUcell , например:

         decoder_cell =tf.nn.rnn_cell.DropoutWrapper(tf.nn.rnn_cell.GRUCell(hidden_size),
                                                    input_keep_prob=dropout_ph,
                                                    output_keep_prob=dropout_ph)
  

Если мы хотим использовать GRU и Dropout в tf.keras.layers , и для той же процедуры отсева ввода / вывода, должны ли мы использовать:

     decoder_output = GRU(hidden_size, dropout=1-dropout_ph, return_sequences=True, return_state=False)(self.ground_truth_embedded)
    dropout_layer = Dropout(1-dropout_ph)
  

dropout Аргумент в GRU() определяет скорость отсева для ввода, и после этого мы добавляем еще один слой отсева для вывода. Я прав?

Ответ №1:

Да, вы правы.

Аргумент ключевого слова dropout в tf.keras.слои.GRU — это отсев на входах, а следующий слой отсева — на выходах.