Only LSTM exists. GRU is a simpler and often more efficient recurrent unit.
Task
Following the pattern of nn/layers/lstm.v and nn/internal/lstm.v:
- Add
nn/layers/gru.v — GRU layer definition
- Add
nn/internal/gru.v — CPU forward/backward kernels
- Add GRU gate files for autograd
- Add GRU test case
Stretch
- CUDA/Vulkan forward if GPU support is desired
Verification
- GRU forward matches PyTorch (
nn.GRU) for same weights
- Backward gradients are correct
Only LSTM exists. GRU is a simpler and often more efficient recurrent unit.
Task
Following the pattern of
nn/layers/lstm.vandnn/internal/lstm.v:nn/layers/gru.v— GRU layer definitionnn/internal/gru.v— CPU forward/backward kernelsStretch
Verification
nn.GRU) for same weights