diff options
author | Lev Proleev <levp@google.com> | 2019-12-19 15:18:50 +0000 |
---|---|---|
committer | Lev Proleev <levp@google.com> | 2020-01-03 16:01:32 +0000 |
commit | f40dc3a495a069d70d95187c7e2eb68e22a514bd (patch) | |
tree | 5ce61595f8fad9ead7741652c2b26f1f8ed63e5d /nn/runtime/test/specs/V1_3/split_quant8_signed.mod.py | |
parent | 21d5907e55f6ed8a3e08c240efb9cf5d4a644fd8 (diff) | |
download | ml-f40dc3a495a069d70d95187c7e2eb68e22a514bd.tar.gz |
Add quant8 signed generated tests
The tests are written semi-automatically by joining all of the 1.0-1.2
tests with TENSOR_QUANT8_ASYMM operands and converting them to
TENSOR_QUANT8_ASYMM_SIGNED.
Also:
* Fix implementation of CONCATENATION op for zero-sized tensors
* Add support for TENSOR_QUANT8_ASYMM_SIGNED in test generator
Bug: 136735770
Test: NNTest_static and VtsHalNeuralnetworksV1_3TargetTest
Change-Id: I250dbe85684aa594892494eb53e6312c1cacb6f3
Diffstat (limited to 'nn/runtime/test/specs/V1_3/split_quant8_signed.mod.py')
-rw-r--r-- | nn/runtime/test/specs/V1_3/split_quant8_signed.mod.py | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/nn/runtime/test/specs/V1_3/split_quant8_signed.mod.py b/nn/runtime/test/specs/V1_3/split_quant8_signed.mod.py new file mode 100644 index 000000000..d4f6c6d66 --- /dev/null +++ b/nn/runtime/test/specs/V1_3/split_quant8_signed.mod.py @@ -0,0 +1,103 @@ +# +# Copyright (C) 2019 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +input0 = Input("input0", "TENSOR_QUANT8_ASYMM_SIGNED", "{6}, 1.0, -128") +axis = Int32Scalar("axis", 0) +num_splits = Int32Scalar("num_splits", 3) +output0 = Output("output0", "TENSOR_QUANT8_ASYMM_SIGNED", "{2}, 1.0, -128") +output1 = Output("output1", "TENSOR_QUANT8_ASYMM_SIGNED", "{2}, 1.0, -128") +output2 = Output("output2", "TENSOR_QUANT8_ASYMM_SIGNED", "{2}, 1.0, -128") + +model = Model().Operation("SPLIT", input0, axis, num_splits).To( + (output0, output1, output2)) + +# Example 1. +input_dict = {input0: [-127, -126, -125, -124, -123, -122]} +output_dict = { + output0: [-127, -126], + output1: [-125, -124], + output2: [-123, -122], +} + +# Instantiate an example +Example((input_dict, output_dict)).AddRelaxed() + +####################################################### + +input0 = Input("input0", "TENSOR_QUANT8_ASYMM_SIGNED", "{2, 3}, 2.0, -125") +axis = Int32Scalar("axis", 0) +num_splits = Int32Scalar("num_splits", 2) +output0 = Output("output0", "TENSOR_QUANT8_ASYMM_SIGNED", "{1, 3}, 2.0, -125") +output1 = Output("output1", "TENSOR_QUANT8_ASYMM_SIGNED", "{1, 3}, 2.0, -125") + +model = Model().Operation("SPLIT", input0, axis, num_splits).To( + (output0, output1)) + +# Example 1. +input_dict = {input0: [-127, -126, -125, -124, -123, -122]} +output_dict = { + output0: [-127, -126, -125], + output1: [-124, -123, -122], +} + +# Instantiate an example +Example((input_dict, output_dict)).AddRelaxed() + +####################################################### + +input0 = Input("input0", "TENSOR_QUANT8_ASYMM_SIGNED", "{2, 3}, 2.0, -125") +axis = Int32Scalar("axis", 1) +num_splits = Int32Scalar("num_splits", 3) +output0 = Output("output0", "TENSOR_QUANT8_ASYMM_SIGNED", "{2, 1}, 2.0, -125") +output1 = Output("output1", "TENSOR_QUANT8_ASYMM_SIGNED", "{2, 1}, 2.0, -125") +output2 = Output("output2", "TENSOR_QUANT8_ASYMM_SIGNED", "{2, 1}, 2.0, -125") + +model = Model().Operation("SPLIT", input0, axis, num_splits).To( + (output0, output1, output2)) + +# Example 1. +input_dict = {input0: [-127, -126, -125, -124, -123, -122]} +output_dict = { + output0: [-127, -124], + output1: [-126, -123], + output2: [-125, -122], +} + +# Instantiate an example +Example((input_dict, output_dict)) + +####################################################### + +input0 = Input("input0", "TENSOR_QUANT8_ASYMM_SIGNED", "{2, 2, 2}, 1.0, -128") +axis = Int32Scalar("axis", 1) +num_splits = Int32Scalar("num_splits", 2) +output0 = Output("output0", "TENSOR_QUANT8_ASYMM_SIGNED", + "{2, 1, 2}, 1.0, -128") +output1 = Output("output1", "TENSOR_QUANT8_ASYMM_SIGNED", + "{2, 1, 2}, 1.0, -128") + +model = Model().Operation("SPLIT", input0, axis, num_splits).To( + (output0, output1)) + +# Example 1. +input_dict = {input0: [-127, -126, -125, -124, -123, -122, -121, -120]} +output_dict = { + output0: [-127, -126, -123, -122], + output1: [-125, -124, -121, -120], +} + +# Instantiate an example +Example((input_dict, output_dict)) |