Skip to content

tflite==2.4.2 breaks "test_forward.py::test_forward_mobilenet_v1" (and few other tests in the tflite frontend) #8339

@manupak

Description

@manupak

With recent docker environment update to #8306, the tflite version is upgraded to 2.4.2.

I'm raising this, as when we re-generate Docker images, this will certainly show up.
The error messages I see are as follows :

[2021-06-25T10:33:33.284Z] =========================== short test summary info ============================
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_mobilenet_v1
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_mobilenet_v2
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_mobilenet_v3
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_sparse_mobilenet_v1
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_sparse_mobilenet_v2
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_inception_v3_net
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_inception_v4_net
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_inception_v4_net_batched
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_qnn_inception_v1_net
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_qnn_mobilenet_v1_net
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_qnn_mobilenet_v2_net
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_tflite2_qnn_resnet50
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_tflite2_qnn_inception_v1
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_tflite2_qnn_mobilenet_v2
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_coco_ssd_mobilenet_v1
[2021-06-25T10:33:33.284Z] FAILED tests/python/frontend/tflite/test_forward.py::test_forward_mediapipe_hand_landmark

A specific error message from the above list will be as follows :

[2021-06-25T10:33:33.284Z] tests/python/frontend/tflite/test_forward.py:188: in run_tvm_graph
[2021-06-25T10:33:33.284Z]     tflite_model, shape_dict=shape_dict, dtype_dict=dtype_dict
[2021-06-25T10:33:33.284Z] python/tvm/relay/frontend/tflite.py:3678: in from_tflite
[2021-06-25T10:33:33.284Z]     op_converter.convert_op_to_relay()
[2021-06-25T10:33:33.284Z] python/tvm/relay/frontend/tflite.py:231: in convert_op_to_relay
[2021-06-25T10:33:33.284Z]     ret = self.convert_map[op_code_str](op)
[2021-06-25T10:33:33.284Z] python/tvm/relay/frontend/tflite.py:1297: in convert_add
[2021-06-25T10:33:33.284Z]     return self._convert_elemwise(_op.add, op)
[2021-06-25T10:33:33.284Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[2021-06-25T10:33:33.284Z] 
[2021-06-25T10:33:33.284Z] self = <tvm.relay.frontend.tflite.OperatorConverter object at 0x7fd4942d4d30>
[2021-06-25T10:33:33.284Z] relay_op = <function add at 0x7fd4fae05bf8>
[2021-06-25T10:33:33.284Z] op = <tflite.Operator.Operator object at 0x7fd49439c528>
[2021-06-25T10:33:33.284Z] ignore_qnn_params = False
[2021-06-25T10:33:33.284Z] 
[2021-06-25T10:33:33.284Z]     def _convert_elemwise(self, relay_op, op, ignore_qnn_params=False):
[2021-06-25T10:33:33.284Z]         """Generic method to Convert TFLite elemwise"""
[2021-06-25T10:33:33.284Z]         try:
[2021-06-25T10:33:33.284Z]             from tflite.AddOptions import AddOptions
[2021-06-25T10:33:33.284Z]             from tflite.SubOptions import SubOptions
[2021-06-25T10:33:33.284Z]             from tflite.MulOptions import MulOptions
[2021-06-25T10:33:33.284Z]             from tflite.DivOptions import DivOptions
[2021-06-25T10:33:33.284Z]             from tflite.BuiltinOptions import BuiltinOptions
[2021-06-25T10:33:33.284Z]         except ImportError:
[2021-06-25T10:33:33.284Z]             raise ImportError("The tflite package must be installed")
[2021-06-25T10:33:33.284Z]     
[2021-06-25T10:33:33.284Z]         input_tensors = self.get_input_tensors(op)
[2021-06-25T10:33:33.284Z] >       assert len(input_tensors) == 2, "input tensors length should be 2"
[2021-06-25T10:33:33.284Z] E       AssertionError: input tensors length should be 2

Therefore, I think we should stick with tflite=2.3.1 unless we include the changes to the tflite frontend / tests to make the CI green once the docker images are regenerated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions