tf.raw_ops.CudnnRNN
Реализация RNN, поддерживаемая cuDNN.
tf.raw_ops.CudnnRNN(
input, input_h, input_c, params, rnn_mode='lstm', input_mode='linear_input',
direction='unidirectional', dropout=0, seed=0, seed2=0, is_training=True,
name=None
)
Вычисляет RNN из входных данных и начальных состояний относительно буфера параметров.
rnn_mode: Указывает тип модели RNN. input_mode: Указывает, есть ли линейное проектирование между входом и фактическим вычислением перед первым слоем. 'skip_input' разрешается только при input_size == num_units; 'auto_select' подразумевает 'skip_input', когда input_size == num_units; в противном случае он подразумевает 'linear_input'. direction: Указывает, будет ли использоваться двунаправленная модель. Должно быть "однонаправленным" или "двунаправленным". dropout: Вероятность дропаута. При значении 0. дропаут отключён. seed: Первая часть семян для инициализации дропаута. seed2: Вторая часть семян для инициализации дропаута. input: 3-мерный тензор с формой [seq_length, batch_size, input_size]. input_h: 3-мерный тензор с формой [num_layer * dir, batch_size, num_units]. input_c: Для LSTM, 3-мерный тензор с формой [num_layer * dir, batch, num_units]. Для других моделей он игнорируется. params: 1-мерный тензор, содержащий веса и смещения в неявном формате. Размер должен быть создан с помощью CudnnRNNParamsSize и инициализирован отдельно. Обратите внимание, что они могут быть несовместимы в разных поколениях. Поэтому рекомендуется сохранять и восстанавливать output: 3-мерный тензор с формой [seq_length, batch_size, dir * num_units]. output_h: Такая же форма, как input_h. output_c: Такая же форма, как input_c для LSTM. Пустой тензор для других моделей. is_training: Указывает, используется ли данная операция для вывода или обучения. reserve_space: Неявный тензор, который может быть использован в вычислениях обратного распространения. Он генерируется только, если is_training ложно.
| Аргументы | |
|---|---|
input | Тип Tensor. Должен быть одним из следующих типов: half, float32, float64. |
input_h | Тип Tensor. Должен иметь тот же тип, что и input. |
input_c | Тип Tensor. Должен иметь тот же тип, что и input. |
params | Тип Tensor. Должен иметь тот же тип, что и input. |
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. |
is_training | Необязательный bool. По умолчанию True. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Кортеж объектов Tensor (output, output_h, output_c, reserve_space). | |
output | Тип Tensor. Имеет тот же тип, что и input. |
output_h | Тип Tensor. Имеет тот же тип, что и input. |
output_c | Тип Tensor. Имеет тот же тип, что и input. |
reserve_space | Тип Tensor. Имеет тот же тип, что и input. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/CudnnRNN