LudovicoYIN opened a new pull request, #19634:
URL: https://github.com/apache/tvm/pull/19634
## Summary
Add three TFLite sequence recurrent operators to the Relax frontend, all with
coupled input-forget gate (FULL kernel) and float32-only support.
- UNIDIRECTIONAL_SEQUENCE_LSTM
- BIDIRECTIONAL_SEQUENCE_RNN
- BIDIRECTIONAL_SEQUENCE_LSTM
Closes #19519.
## Changes
- **UNIDIRECTIONAL_SEQUENCE_LSTM**: same layout as single-step LSTM, unrolls
over
time and stacks per-step hidden states. Supports time_major, cell_clip,
proj_clip,
and fused activation.
- **BIDIRECTIONAL_SEQUENCE_RNN**: separate fw/bw RNN cells, backward scans in
reverse. Supports merge_outputs (concat fw + bw) and split outputs via
Tuple.
- **BIDIRECTIONAL_SEQUENCE_LSTM**: 48-input operator with fw/bw LSTM cells
sharing
the same input tensor. States at indices 35-38.
- All converters propagate final states to exp_tab for multi-step
correctness.
- Peephole, projection, layer norm, and aux input are not supported (raise
OpNotImplemented).
## Testing
- `test_unidirectional_sequence_lstm_none_activation` — output shape [batch,
time, num_units]
- `test_bidirectional_sequence_rnn_none_activation` — merge_outputs=True,
shape [batch, time, 2*num_units]
- `test_bidirectional_sequence_lstm_none_activation` — merge_outputs=True,
shape [batch, time, 2*num_units]
```bash
python -m pytest tests/python/relax/test_frontend_tflite.py -k
"sequence_lstm or sequence_rnn" -v
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]