Class RNNImpl

Inheritance Relationships

Base Type

Class Documentation

class torch::nn::RNNImpl : public torch::nn::detail::RNNImplBase<RNNImpl>

A multi-layer Elman RNN module with Tanh or ReLU activation.

See to learn about the exact behavior of this module.

See the documentation for torch::nn::RNNOptions class to learn what constructor arguments are supported for this module.


RNN model(RNNOptions(128, 64).num_layers(3).dropout(0.2).nonlinearity(torch::kTanh));

Public Functions

RNNImpl(int64_t input_size, int64_t hidden_size)
RNNImpl(const RNNOptions &options_)
std::tuple<Tensor, Tensor> forward(const Tensor &input, Tensor hx = {})
std::tuple<torch::nn::utils::rnn::PackedSequence, Tensor> forward_with_packed_input(const torch::nn::utils::rnn::PackedSequence &packed_input, Tensor hx = {})

Public Members

RNNOptions options

Protected Functions

bool _forward_has_default_args() override

The following three functions allow a module with default arguments in its forward method to be used in a Sequential module.

You should NEVER override these functions manually. Instead, you should use the FORWARD_HAS_DEFAULT_ARGS macro.

unsigned int _forward_num_required_args() override
std::vector<torch::nn::AnyValue> _forward_populate_default_args(std::vector<torch::nn::AnyValue> &&arguments) override
std::tuple<Tensor, Tensor> forward_helper(const Tensor &input, const Tensor &batch_sizes, const Tensor &sorted_indices, int64_t max_batch_size, Tensor hx)


friend struct torch::nn::AnyModuleHolder


Access comprehensive developer documentation for PyTorch

View Docs


Get in-depth tutorials for beginners and advanced developers

View Tutorials


Find development resources and get your questions answered

View Resources