Add fully quantize maximum/minimum op tests with a bug fix for maximum and mininum.
PiperOrigin-RevId: 276093641
Change-Id: I7cc4c9a73f093deb1764261a1eb5d5b36ccbc38a
diff --git a/tensorflow/lite/testing/BUILD b/tensorflow/lite/testing/BUILD
index 0429e5c..dce1b35 100644
--- a/tensorflow/lite/testing/BUILD
+++ b/tensorflow/lite/testing/BUILD
@@ -22,6 +22,13 @@
licenses = ["notice"], # Apache 2.0
)
+gen_zipped_test_file(
+ name = "zip_conv_edgetpu",
+ file = "conv_edgetpu.zip",
+ flags = " --make_edgetpu_tests",
+ toco = "//tensorflow/lite/toco:toco", # Unused
+)
+
[gen_zip_test(
name = "zip_test_%s" % test_name,
size = "medium",
@@ -478,16 +485,3 @@
)
tflite_portable_test_suite()
-
-edgetpu_ops = [
- "conv",
- "maximum",
- "minimum",
-]
-
-[gen_zipped_test_file(
- name = "zip_%s_edgetpu" % op_name,
- file = "%s_edgetpu.zip" % op_name,
- flags = " --make_edgetpu_tests",
- toco = "//tensorflow/lite/toco:toco", # Unused
-) for op_name in edgetpu_ops]
diff --git a/tensorflow/lite/testing/op_tests/maximum.py b/tensorflow/lite/testing/op_tests/maximum.py
index c83f422..a74ea34 100644
--- a/tensorflow/lite/testing/op_tests/maximum.py
+++ b/tensorflow/lite/testing/op_tests/maximum.py
@@ -31,7 +31,6 @@
"input_dtype": [tf.float32],
"input_shape_1": [[], [3], [1, 100], [4, 2, 3], [5, 224, 224, 3]],
"input_shape_2": [[], [3], [1, 100], [4, 2, 3], [5, 224, 224, 3]],
- "fully_quantize": [True, False],
}]
def build_graph(parameters):
@@ -49,19 +48,11 @@
return [input_tensor_1, input_tensor_2], [out]
def build_inputs(parameters, sess, inputs, outputs):
- """Build inputs for maximum op."""
-
values = [
- create_tensor_data(
- parameters["input_dtype"],
- parameters["input_shape_1"],
- min_value=-1,
- max_value=1),
- create_tensor_data(
- parameters["input_dtype"],
- parameters["input_shape_2"],
- min_value=-1,
- max_value=1)
+ create_tensor_data(parameters["input_dtype"],
+ parameters["input_shape_1"]),
+ create_tensor_data(parameters["input_dtype"],
+ parameters["input_shape_2"])
]
return values, sess.run(outputs, feed_dict=dict(zip(inputs, values)))
@@ -70,4 +61,4 @@
test_parameters,
build_graph,
build_inputs,
- expected_tf_failures=16)
+ expected_tf_failures=8)
diff --git a/tensorflow/lite/testing/op_tests/minimum.py b/tensorflow/lite/testing/op_tests/minimum.py
index b68d104..49db103 100644
--- a/tensorflow/lite/testing/op_tests/minimum.py
+++ b/tensorflow/lite/testing/op_tests/minimum.py
@@ -31,7 +31,6 @@
"input_dtype": [tf.float32],
"input_shape_1": [[], [3], [1, 100], [4, 2, 3], [5, 224, 224, 3]],
"input_shape_2": [[], [3], [1, 100], [4, 2, 3], [5, 224, 224, 3]],
- "fully_quantize": [True, False],
}]
def build_graph(parameters):
@@ -49,19 +48,11 @@
return [input_tensor_1, input_tensor_2], [out]
def build_inputs(parameters, sess, inputs, outputs):
- """Build inputs for minimum op."""
-
values = [
- create_tensor_data(
- parameters["input_dtype"],
- parameters["input_shape_1"],
- min_value=-1,
- max_value=1),
- create_tensor_data(
- parameters["input_dtype"],
- parameters["input_shape_2"],
- min_value=-1,
- max_value=1)
+ create_tensor_data(parameters["input_dtype"],
+ parameters["input_shape_1"]),
+ create_tensor_data(parameters["input_dtype"],
+ parameters["input_shape_2"])
]
return values, sess.run(outputs, feed_dict=dict(zip(inputs, values)))
@@ -70,4 +61,4 @@
test_parameters,
build_graph,
build_inputs,
- expected_tf_failures=16)
+ expected_tf_failures=8)
diff --git a/tensorflow/lite/tools/optimize/operator_property.cc b/tensorflow/lite/tools/optimize/operator_property.cc
index 1b047a9..3cbc053 100644
--- a/tensorflow/lite/tools/optimize/operator_property.cc
+++ b/tensorflow/lite/tools/optimize/operator_property.cc
@@ -158,7 +158,7 @@
property.version = 2;
break;
case BuiltinOperator_MAXIMUM:
- property.inputs = {{0, {}}, {1, {}}};
+ property.inputs = {{0, {}}};
property.outputs = {{0, {}}};
property.restrict_same_input_output_scale = true;
property.version = 2;
@@ -169,7 +169,7 @@
property.version = 2;
break;
case BuiltinOperator_MINIMUM:
- property.inputs = {{0, {}}, {1, {}}};
+ property.inputs = {{0, {}}};
property.outputs = {{0, {}}};
property.restrict_same_input_output_scale = true;
property.version = 2;