examples/modern-lstm/README.md
A more advanced implementation of Long Short-Term Memory (LSTM) networks in Burn with combined weight matrices for the input and hidden states, based on the PyTorch implementation.
LstmNetwork is the top-level module with bidirectional and regularization support. The LSTM
variants differ by bidirectional and num_layers settings:
num_layers = 1 and bidirectional = falsenum_layers > 1 and bidirectional = falsenum_layers = 1 and bidirectional = truenum_layers > 1 and bidirectional = trueThis implementation is complementary to Burn's official LSTM, users can choose either one depends on the project's specific needs.
# Cuda backend
cargo run --example lstm-train --release --features cuda
# Wgpu backend
cargo run --example lstm-train --release --features wgpu
# Tch GPU backend
export TORCH_CUDA_VERSION=cu128 # Set the cuda version
cargo run --example lstm-train --release --features tch-gpu
# Tch CPU backend
cargo run --example lstm-train --release --features tch-cpu
# NdArray backend (CPU)
cargo run --example lstm-train --release --features ndarray
cargo run --example lstm-train --release --features ndarray-blas-openblas
cargo run --example lstm-train --release --features ndarray-blas-netlib
cargo run --example lstm-infer --release --features cuda