Aharrypotter commented on code in PR #19812:
URL: https://github.com/apache/tvm/pull/19812#discussion_r3426979645
##########
python/tvm/relax/frontend/tflite/tflite_frontend.py:
##########
@@ -5033,6 +5071,78 @@ def convert_bitcast(self, op):
return relax.op.memory.view(in_expr, shape=output_shape,
dtype=output_dtype)
+ def convert_rfft2d(self, op):
+ """Convert TFLite RFFT2D for static no-padding/no-truncation shapes."""
+ from tflite.TensorType import TensorType
+
+ input_tensors = self.get_input_tensors(op)
+ output_tensors = self.get_output_tensors(op)
+ if len(input_tensors) != 2 or len(output_tensors) != 1:
+ raise tvm.error.OpNotImplemented("RFFT2D expects two inputs and
one output")
+
+ data_tensor, fft_length_tensor = input_tensors
+ output_tensor = output_tensors[0]
+ if data_tensor.tensor.Type() != TensorType.FLOAT32:
+ raise tvm.error.OpNotImplemented("RFFT2D input must be float32")
+ if not self._is_tflite_complex64_type(output_tensor.tensor.Type()):
+ raise tvm.error.OpNotImplemented("RFFT2D output must be COMPLEX64")
+ if data_tensor.tensor.Sparsity() is not None or
fft_length_tensor.tensor.Sparsity() is not None:
+ raise tvm.error.OpNotImplemented("RFFT2D does not support sparse
inputs")
+
+ input_shape = tuple(to_int_list(self.get_tensor_shape(data_tensor)))
+ tflite_output_shape =
tuple(to_int_list(self.get_tensor_shape(output_tensor)))
+ if len(input_shape) < 2:
+ raise tvm.error.OpNotImplemented("RFFT2D input rank must be at
least 2")
+
+ try:
+ fft_length_value =
self.get_tensor_value_or_prefetched(fft_length_tensor)
+ except (ValueError, TypeError):
+ raise tvm.error.OpNotImplemented("RFFT2D requires a constant
fft_length") from None
Review Comment:
fixed
--
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]