Class LSTMImpl¶
Defined in File rnn.h
Page Contents
Inheritance Relationships¶
Base Type¶
public torch::nn::detail::RNNImplBase< LSTMImpl >
(Template Class RNNImplBase)
Class Documentation¶
-
class LSTMImpl : public torch::nn::detail::RNNImplBase<LSTMImpl>¶
A multi-layer long-short-term-memory (LSTM) module.
See https://pytorch.org/docs/main/generated/torch.nn.LSTM.html to learn about the exact behavior of this module.
See the documentation for
torch::nn::LSTMOptions
class to learn what constructor arguments are supported for this module.Example:
LSTM model(LSTMOptions(2, 4).num_layers(3).batch_first(false).bidirectional(true));
Public Functions
-
inline LSTMImpl(int64_t input_size, int64_t hidden_size)¶
-
explicit LSTMImpl(const LSTMOptions &options_)¶
-
std::tuple<Tensor, std::tuple<Tensor, Tensor>> forward(const Tensor &input, std::optional<std::tuple<Tensor, Tensor>> hx_opt = {})¶
-
std::tuple<torch::nn::utils::rnn::PackedSequence, std::tuple<Tensor, Tensor>> forward_with_packed_input(const torch::nn::utils::rnn::PackedSequence &packed_input, std::optional<std::tuple<Tensor, Tensor>> hx_opt = {})¶
Public Members
-
LSTMOptions options¶
Protected Functions
-
inline virtual 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.
-
inline virtual unsigned int _forward_num_required_args() override¶
-
inline std::vector<torch::nn::AnyValue> _forward_populate_default_args(std::vector<torch::nn::AnyValue> &&arguments) override¶
-
void check_forward_args(const Tensor &input, std::tuple<Tensor, Tensor> hidden, const Tensor &batch_sizes) const¶
-
std::tuple<int64_t, int64_t, int64_t> get_expected_cell_size(const Tensor &input, const Tensor &batch_sizes) const¶
-
std::tuple<Tensor, std::tuple<Tensor, Tensor>> forward_helper(const Tensor &input, const Tensor &batch_sizes, const Tensor &sorted_indices, int64_t max_batch_size, std::optional<std::tuple<Tensor, Tensor>> hx_opt)¶
Friends
- friend struct torch::nn::AnyModuleHolder
-
inline LSTMImpl(int64_t input_size, int64_t hidden_size)¶