tf.raw_ops.CudnnRNNBackpropV2
Шаг обратного распространения для CudnnRNN.
tf.raw_ops.CudnnRNNBackpropV2(
input,
input_h,
input_c,
params,
output,
output_h,
output_c,
output_backprop,
output_h_backprop,
output_c_backprop,
reserve_space,
host_reserved,
rnn_mode='lstm',
input_mode='linear_input',
direction='unidirectional',
dropout=0,
seed=0,
seed2=0,
name=None
)
Вычисляет обратное распространение для данных и весов в RNN. Принимает дополнительный входной параметр "host_reserved" по сравнению с CudnnRNNBackprop, который используется для определения cudnnRNNAlgo_t и cudnnMathType_t для RNN.
rnn_mode: указывает тип модели RNN. input_mode: указывает, имеется ли линейная проекция между входными данными и фактическими вычислениями перед первым слоем. 'skip_input' разрешен только при input_size == num_units; 'auto_select' подразумевает 'skip_input' при input_size == num_units; в противном случае подразумевается 'linear_input'. direction: указывает, будет ли использоваться двунаправленная модель. Значение должно быть "unidirectional" или "bidirectional". dropout: вероятность исключения. Если задано значение 0., исключение отключено. seed: первая часть начального значения для инициализации исключения. seed2: вторая часть начального значения для инициализации исключения. input: трехмерный тензор формы [seq_length, batch_size, input_size]. input_h: трехмерный тензор формы [num_layer * dir, batch_size, num_units]. input_c: для LSTM — трехмерный тензор формы [num_layer * dir, batch, num_units]. Для других моделей игнорируется. params: одномерный тензор, содержащий веса и смещения в непрозрачном формате. Размер должен быть создан с помощью CudnnRNNParamsSize и инициализирован отдельно. Обратите внимание, что данные могут быть несовместимы между разными поколениями. Поэтому рекомендуется сохранять и восстанавливать output: трехмерный тензор формы [seq_length, batch_size, dir * num_units]. output_h: имеет ту же форму, что и input_h. output_c: для LSTM имеет ту же форму, что и input_c. Для других моделей — пустой тензор. output_backprop: трехмерный тензор той же формы, что и output при прямом проходе. output_h_backprop: трехмерный тензор той же формы, что и output_h при прямом проходе. output_c_backprop: трехмерный тензор той же формы, что и output_c при прямом проходе. reserve_space: тот же reserve_space, который был создан при прямом выполнении операции. host_reserved: тот же host_reserved, который был создан при прямом выполнении операции. input_backprop: градиент по input при прямом проходе. Имеет ту же форму, что и input. input_h_backprop: градиент по input_h при прямом проходе. Имеет ту же форму, что и input_h. input_c_backprop: градиент по input_c при прямом проходе. Имеет ту же форму, что и input_c. params_backprop: градиент по буферу params при прямом проходе. Имеет ту же форму, что и params.
| Аргументы | |
|---|---|
input | A Tensor. Должен иметь один из следующих типов: bfloat16, half, float32, float64. |
input_h | A Tensor. Должен иметь тот же тип, что и input. |
input_c | A Tensor. Должен иметь тот же тип, что и input. |
params | A Tensor. Должен иметь тот же тип, что и input. |
output | A Tensor. Должен иметь тот же тип, что и input. |
output_h | A Tensor. Должен иметь тот же тип, что и input. |
output_c | A Tensor. Должен иметь тот же тип, что и input. |
output_backprop | A Tensor. Должен иметь тот же тип, что и input. |
output_h_backprop | A Tensor. Должен иметь тот же тип, что и input. |
output_c_backprop | A Tensor. Должен иметь тот же тип, что и input. |
reserve_space | A Tensor. Должен иметь тот же тип, что и input. |
host_reserved | A Tensor типа int8. |
rnn_mode | Необязательный string из: "rnn_relu", "rnn_tanh", "lstm", "gru". Значение по умолчанию: "lstm". |
input_mode | Необязательный string из: "linear_input", "skip_input", "auto_select". Значение по умолчанию: "linear_input". |
direction | Необязательный string из: "unidirectional", "bidirectional". Значение по умолчанию: "unidirectional". |
dropout | Необязательный float. Значение по умолчанию: 0. |
seed | Необязательный int. Значение по умолчанию: 0. |
seed2 | Необязательный int. Значение по умолчанию: 0. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
Кортеж из объектов Tensor (input_backprop, input_h_backprop, input_c_backprop, params_backprop). | |
input_backprop | A Tensor. Имеет тот же тип, что и input. |
input_h_backprop | A Tensor. Имеет тот же тип, что и input. |
input_c_backprop | A Tensor. Имеет тот же тип, что и input. |
params_backprop | A Tensor. Имеет тот же тип, что и input. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/CudnnRNNBackpropV2