u99127 commented on a change in pull request #8375:
URL: https://github.com/apache/tvm/pull/8375#discussion_r661295402



##########
File path: python/tvm/relay/frontend/tflite.py
##########
@@ -251,7 +251,30 @@ def get_op_code_str(self, op):
             raise ImportError("The tflite package must be installed")
 
         op_code_list_idx = op.OpcodeIndex()
-        op_code_id = self.model.OperatorCodes(op_code_list_idx).BuiltinCode()
+
+        op_c = self.model.OperatorCodes(op_code_list_idx)
+        # In TFlite 2.4.x there was a change where the type of the field that 
contained
+        # the builtin code changed from int8 to int32 in the flat buffer 
representation.
+        # However to retain support for old flat buffers that were created, 
they retained
+        # the original 8 bit encoding for the operator but in a new field 
accessed by the
+        # DeprecatedBuiltinCode method.
+        # This means that the API function BuiltinCode() is used on an operator
+        # which was originally encoded as an 8 bit quantity it would look for 
the
+        # code in the new int32 field in the schema and this creates the need
+        # for the check for the magic number of 127 which is indicated by
+        # BuiltinOperator.PLACEHOLDER_FOR_GREATER_OP_CODES
+        # Remember however that this value came into existence only after 
Tensorflow
+        # lite 2.4.x and hence encase it in a try -except block.
+        # Phew !
+        try:
+            if op_c.BuiltinCode() < 
BuiltinOperator.PLACEHOLDER_FOR_GREATER_OP_CODES:

Review comment:
       Using the environment as it would be once the CI images are baked (i.e. 
with Tensorflow and Tensorflow lite 2.4.2)  I cannot seem to find schema_util 
and visualise packages. Is there something else that you need to do in terms of 
building tensor flow and tensor flow lite to use this ? 
   
   I've tried both: 
   
   from tensorflow.lite.python import schema_util 
   and
   from tflite.python import schema_util 
   
   Can we fix up the CI breakages with this PR now and follow up with a cleaner 
fix / cleanup ? 




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


Reply via email to