tlopex opened a new issue, #19519:
URL: https://github.com/apache/tvm/issues/19519

   The Relax TFLite frontend has made good progress recently:                   
       
   
   - #18971 tracks unit test coverage for already-supported non-quantized 
operators.   
   - #19412 tracks a first batch of missing or partial operators that are 
good-first-issue or medium-sized frontend tasks.                                
    
                                                                                
       
   This issue tracks the remaining larger TFLite builtin operator coverage that 
is not already well-covered by those two issues.                       
                                                                                
       
   The goal is to make the remaining gaps visible, split them by complexity, 
and let contributors pick coherent operator families instead of one-off 
unsupported ops.
                                                                                
       
   Scope                                                                        
       
   
   This issue covers remaining TFLite builtin operators that fall into larger 
semantic groups. This issue does not track quantized model support as a whole; 
that should be tracked separately.                                              
                  
                                                                   
   A. Sequence / recurrent model operators
   
   - [ ] `RNN`
   - [ ] `LSTM`
   - [ ] `SVDF`
   - [ ] `UNIDIRECTIONAL_SEQUENCE_RNN`
   - [ ] `UNIDIRECTIONAL_SEQUENCE_LSTM`
   - [ ] `BIDIRECTIONAL_SEQUENCE_RNN`
   - [ ] `BIDIRECTIONAL_SEQUENCE_LSTM`
   
   B. 3D convolution family
   
   - [ ] `CONV_3D`
   - [ ] `CONV_3D_TRANSPOSE`
   
   C. FFT / complex operators
   
   - [ ] `RFFT2D`
   - [ ] `REAL`
   - [ ] `IMAG`
   - [ ] `COMPLEX_ABS`
   
   D. Legacy embedding / sparse embedding operators
   
   - [ ] `CONCAT_EMBEDDINGS`
   - [ ] `EMBEDDING_LOOKUP_SPARSE`
   - [ ] `HASHTABLE_LOOKUP`
   - [ ] `LSH_PROJECTION`
   - [ ] `SKIP_GRAM`
   
   E. Window reduction
   
   - [ ] `REDUCE_WINDOW`
   
   F. Control flow / multi-subgraph operators
   
   - [ ] `IF`
   - [ ] `WHILE`
   - [ ] `CALL`
   - [ ] `CALL_ONCE`
   
   G. Resource / variable / hashtable operators
   
   - [ ] `VAR_HANDLE`
   - [ ] `READ_VARIABLE`
   - [ ] `ASSIGN_VARIABLE`
   - [ ] `HASHTABLE`
   - [ ] `HASHTABLE_FIND`
   - [ ] `HASHTABLE_IMPORT`
   - [ ] `HASHTABLE_SIZE`
   
   H. Operator markers
   
   - [ ] `DELEGATE`
   - [ ] `PLACEHOLDER_FOR_GREATER_OP_CODES`
   
   I. StableHLO operators in TFLite
   
   - [ ] `STABLEHLO_ABS`
   - [ ] `STABLEHLO_ADD`
   - [ ] `STABLEHLO_AND`
   - [ ] `STABLEHLO_BROADCAST_IN_DIM`
   - [ ] `STABLEHLO_CBRT`
   - [ ] `STABLEHLO_CLAMP`
   - [ ] `STABLEHLO_COMPARE`
   - [ ] `STABLEHLO_COMPOSITE`
   - [ ] `STABLEHLO_CONCATENATE`
   - [ ] `STABLEHLO_CONVERT`
   - [ ] `STABLEHLO_CONVOLUTION`
   - [ ] `STABLEHLO_COSINE`
   - [ ] `STABLEHLO_CUSTOM_CALL`
   - [ ] `STABLEHLO_DIVIDE`
   - [ ] `STABLEHLO_DOT_GENERAL`
   - [ ] `STABLEHLO_DYNAMIC_SLICE`
   - [ ] `STABLEHLO_DYNAMIC_UPDATE_SLICE`
   - [ ] `STABLEHLO_EXPONENTIAL`
   - [ ] `STABLEHLO_FLOOR`
   - [ ] `STABLEHLO_GATHER`
   - [ ] `STABLEHLO_IOTA`
   - [ ] `STABLEHLO_LOG`
   - [ ] `STABLEHLO_LOGISTIC`
   - [ ] `STABLEHLO_MAXIMUM`
   - [ ] `STABLEHLO_MINIMUM`
   - [ ] `STABLEHLO_MULTIPLY`
   - [ ] `STABLEHLO_NEGATE`
   - [ ] `STABLEHLO_OR`
   - [ ] `STABLEHLO_PAD`
   - [ ] `STABLEHLO_POWER`
   - [ ] `STABLEHLO_REDUCE`
   - [ ] `STABLEHLO_REDUCE_WINDOW`
   - [ ] `STABLEHLO_REMAINDER`
   - [ ] `STABLEHLO_RESHAPE`
   - [ ] `STABLEHLO_RNG_BIT_GENERATOR`
   - [ ] `STABLEHLO_RSQRT`
   - [ ] `STABLEHLO_SCATTER`
   - [ ] `STABLEHLO_SELECT`
   - [ ] `STABLEHLO_SHIFT_LEFT`
   - [ ] `STABLEHLO_SLICE`
   - [ ] `STABLEHLO_SORT`
   - [ ] `STABLEHLO_SUBTRACT`
   - [ ] `STABLEHLO_TANH`
   - [ ] `STABLEHLO_TRANSPOSE`
   - [ ] `STABLEHLO_WHILE`
                                             
   ---                                                                          
                                   
   Suggested contribution workflow
   
   1. Claim an item by commenting on this issue before starting, so we avoid 
duplicated work.
   2. Read a recent reference PR for handler + test style.                      
       
   3. Add the handler, register in convert_map (alphabetical within its 
region).       
   4. Add a structural-equal test following the verify(TestClass, 
expected=None) pattern (test_frontend_tflite.py:56). Nightly-gated E2E 
activates automatically via CI_ENV_NIGHTLY.                                     
                                
   5. Tag the PR title [Relax][Frontend][TFLite].                               
       
                                                                                
       
   References
                                                                                
       
   - #18971: supported non-quantized operator test coverage                     
       
   - #19412: first batch of missing / partial TFLite operator coverage
   - Relax TFLite frontend: python/tvm/relax/frontend/tflite/tflite_frontend.py 
       
   - TFLite frontend tests: tests/python/relax/test_frontend_tflite.py


-- 
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]

Reply via email to