docs/cpp/source/api/nn/recurrent.md
Recurrent layers process sequential data by maintaining hidden state across time steps. They are essential for tasks involving sequences: language modeling, speech recognition, time series prediction, and more.
Key parameters:
input_size: Number of features in inputhidden_size: Number of features in hidden statenum_layers: Number of stacked recurrent layersbatch_first: If true, input shape is [batch, seq, features]bidirectional: Process sequence in both directions:members:
:undoc-members:
:members:
:undoc-members:
Example:
auto rnn = torch::nn::RNN(
torch::nn::RNNOptions(128, 256) // input_size, hidden_size
.num_layers(2)
.batch_first(true)
.bidirectional(false));
auto input = torch::randn({32, 10, 128}); // [batch, seq_len, input_size]
auto [output, hidden] = rnn->forward(input);
:members:
:undoc-members:
:members:
:undoc-members:
Example:
auto lstm = torch::nn::LSTM(
torch::nn::LSTMOptions(128, 256)
.num_layers(2)
.batch_first(true)
.dropout(0.1)
.bidirectional(true));
auto input = torch::randn({32, 10, 128});
auto [output, state] = lstm->forward(input);
auto [h_n, c_n] = state; // hidden state, cell state
:members:
:undoc-members:
:members:
:undoc-members:
:members:
:undoc-members:
:members:
:undoc-members:
:members:
:undoc-members:
:members:
:undoc-members:
:members:
:undoc-members:
:members:
:undoc-members: