diff options
Diffstat (limited to 'compiler/pota-quantization-value-test')
51 files changed, 452 insertions, 135 deletions
diff --git a/compiler/pota-quantization-value-test/CMakeLists.txt b/compiler/pota-quantization-value-test/CMakeLists.txt index d97ffc123..73b9ead73 100644 --- a/compiler/pota-quantization-value-test/CMakeLists.txt +++ b/compiler/pota-quantization-value-test/CMakeLists.txt @@ -49,21 +49,21 @@ add_test( ${QUANTIZATION_VALUE_TEST_WITH_PARAM} ) -#add_test( -# NAME pota_record_minmax_test -# COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_record_minmax.sh" -# "${TEST_CONFIG}" -# "${ARTIFACTS_BIN_PATH}" -# ${QUANTIZATION_VALUE_TEST_WITH_PARAM} -#) +add_test( + NAME pota_record_minmax_test + COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_record_minmax.sh" + "${TEST_CONFIG}" + "${ARTIFACTS_BIN_PATH}" + ${QUANTIZATION_VALUE_TEST_WITH_PARAM} +) -#add_test( -# NAME pota_quantization_test -# COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_quantization.sh" -# "${TEST_CONFIG}" -# "${ARTIFACTS_BIN_PATH}" -# ${QUANTIZATION_VALUE_TEST_WITH_PARAM} -#) +add_test( + NAME pota_quantization_test + COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_quantization.sh" + "${TEST_CONFIG}" + "${ARTIFACTS_BIN_PATH}" + ${QUANTIZATION_VALUE_TEST_WITH_PARAM} +) -#set_tests_properties(pota_record_minmax_test PROPERTIES DEPENDS pota_fake_wquant_test) -#set_tests_properties(pota_quantization_test PROPERTIES DEPENDS pota_record_minmax_test) +set_tests_properties(pota_record_minmax_test PROPERTIES DEPENDS pota_fake_wquant_test) +set_tests_properties(pota_quantization_test PROPERTIES DEPENDS pota_record_minmax_test) diff --git a/compiler/pota-quantization-value-test/compare_tensors.py b/compiler/pota-quantization-value-test/compare_tensors.py index 258d46dc9..7d95d182d 100755 --- a/compiler/pota-quantization-value-test/compare_tensors.py +++ b/compiler/pota-quantization-value-test/compare_tensors.py @@ -69,7 +69,7 @@ def compare_quantization(tensor, tensor_name, expect_dir): if key == "weights": expected_weights = np.array(json_load["weights"]) input_weights = tensor["weights"][:] - if np.allclose(input_weights, expected_weights, rtol=0, atol=0) == False: + if np.allclose(input_weights, expected_weights, rtol=0, atol=1) == False: print("Quantized weights of " + tensor_name + " (" + str(input_weights) + ") do not match with expected value (" + str(expected_weights) + ").") @@ -87,7 +87,7 @@ def compare_quantization(tensor, tensor_name, expect_dir): expected_zero_point = np.array(json_load["zero_point"]) input_zero_point = tensor["zero_point"][:] if np.allclose( - input_zero_point, expected_zero_point, rtol=0, atol=0) == False: + input_zero_point, expected_zero_point, rtol=0, atol=1) == False: print("Quantized zero_point of " + tensor_name + " (" + str(input_zero_point) + ") do not match with expected value (" + str(expected_zero_point) + ").") diff --git a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/fake_quantization/ker.json b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/fake_quantization/ker.json index 21b8ecad7..2558bb2be 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/fake_quantization/ker.json +++ b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/fake_quantization/ker.json @@ -3,44 +3,44 @@ [ [ [ - 1.003921627998352, - 2.007843255996704 - ], + 1.0039215087890625, + 2.007843017578125 + ], [ - -3.0117647647857666, + -3.0117650032043457, -4.015686511993408 ] - ], + ], [ [ - -5.019608020782471, - 6.023529529571533 - ], + -5.019608497619629, + 6.023530006408691 + ], [ - -7.027451038360596, - 7.968627452850342 + -7.027451515197754, + 7.9686279296875 ] ] - ], + ], [ [ [ - 4.015686511993408, - -2.007843255996704 - ], + 4.01568603515625, + -2.007843494415283 + ], [ - 3.0117647647857666, - -1.003921627998352 + 3.0117645263671875, + -1.0039215087890625 ] - ], + ], [ [ - -7.968627452850342, - -6.023529529571533 - ], + -7.9686279296875, + -6.023530006408691 + ], [ - 7.027451038360596, - 5.019608020782471 + 7.027451515197754, + 5.019608497619629 ] ] ] diff --git a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/bias.json b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/bias.json index 462d0d3e3..50d44ece7 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/bias.json +++ b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/bias.json @@ -1,7 +1,7 @@ - { - "scale": 0.0059054209919261825, - "weights": [ - 169.0, - 339.0 - ] - } +{ + "weights": [ + 4069, + 8138 + ], + "scale": 0.0002457468386200985 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ifm.json b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ifm.json index 107117b80..24508860d 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ifm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ifm.json @@ -1,4 +1,4 @@ { - "scale": 0.09411764705882353, + "scale": 0.003916590008884668, "zero_point": 0.0 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ker.json b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ker.json index 3a6e171a1..b249a0ce5 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ker.json +++ b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ker.json @@ -1,52 +1,52 @@ { - "max": 7.968627450980392, - "scale": 0.06274509803921569, "weights": [ [ [ [ - 144, - 160 - ], + 143, + 159 + ], [ - 80, - 64 + 79, + 63 ] - ], + ], [ [ - 48, - 224 - ], + 47, + 223 + ], [ - 16, - 255 + 15, + 254 ] ] - ], + ], [ [ [ - 192, - 96 - ], + 191, + 95 + ], [ - 176, - 112 + 175, + 111 ] - ], + ], [ [ - 1, - 32 - ], + 0, + 31 + ], [ - 240, - 208 + 239, + 207 ] ] ] - ], - "min": -8.031372549019608, - "zero_point": 128.0 + ], + "scale": 0.062745101749897, + "zero_point": 127.0, + "min": -7.9686279296875, + "max": 8.031373023986816 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ofm.json b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ofm.json index 2374639b1..a2dd6681f 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ofm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/quantization/ofm.json @@ -1,4 +1,4 @@ { - "scale": 0.17836222929113052, + "scale": 0.037479765713214874, "zero_point": 0.0 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ifm.json b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ifm.json index 563c0424f..42f8b5617 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ifm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ifm.json @@ -1,4 +1,4 @@ { - "max": 24.0, - "min": 1.0 + "min": 0.005472412034869194, + "max": 0.9987304735183716 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ofm.json b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ofm.json index fd0c6dc86..1862e8cb2 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ofm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/Conv2D_004/layer/uint8/record_minmax/ofm.json @@ -1,4 +1,4 @@ { - "max": 45.48236846923828, - "min": 0.0 + "min": 0.0, + "max": 9.557340850830078 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/fake_quantization/ker.json b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/fake_quantization/ker.json index 11e91ca42..cd3479781 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/fake_quantization/ker.json +++ b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/fake_quantization/ker.json @@ -3,29 +3,29 @@ [ [ [ - 0.9725490212440491, - 1.9450980424880981, - 3.0392158031463623, + 0.9725494384765625, + 1.945098876953125, + 3.039216995239258, 4.0117645263671875 - ], + ], [ - -8.996078491210938, - 9.968626976013184, - -10.941176414489746, - 12.035294532775879 + -8.996077537536621, + 9.9686279296875, + -10.94117546081543, + 12.035295486450195 ] - ], + ], [ [ - 4.984313488006592, - 5.956862926483154, - 7.050980567932129, - 8.023529052734375 - ], + 4.98431396484375, + 5.9568634033203125, + 7.050981521606445, + 8.023530960083008 + ], [ - 13.007843017578125, - -13.980392456054688, - 14.952940940856934, + 13.007843017578125, + -13.980391502380371, + 14.95294189453125, -16.04705810546875 ] ] diff --git a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/bias.json b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/bias.json index df7cb14c4..e60ff312e 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/bias.json +++ b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/bias.json @@ -1,9 +1,9 @@ { - "scale": 0.007627835447904652, "weights": [ - 131.0, - 262.0, - 393.0, - 524.0 - ] + 2156, + 4312, + 6468, + 8624 + ], + "scale": 0.0004638272181067826 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ifm.json b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ifm.json index 254ce899a..4ec4ef2d7 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ifm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ifm.json @@ -1,4 +1,4 @@ { - "scale": 0.06274509803921569, + "scale": 0.0038153529167175293, "zero_point": 0.0 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ker.json b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ker.json index 3d14da173..01835fbde 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ker.json +++ b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ker.json @@ -1,38 +1,38 @@ { - "max": 14.952941176470588, - "scale": 0.12156862745098039, "weights": [ [ [ [ - 140, - 148, - 157, + 140, + 148, + 157, 165 - ], + ], [ - 58, - 214, - 42, + 58, + 214, + 42, 231 ] - ], + ], [ [ - 173, - 181, - 190, + 173, + 181, + 190, 198 - ], + ], [ - 239, - 17, - 255, + 239, + 17, + 255, 0 ] ] ] - ], - "min": -16.04705882352941, - "zero_point": 132.0 + ], + "scale": 0.12156862765550613, + "zero_point": 132.0, + "min": -16.04705810546875, + "max": 14.952940940856934 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ofm.json b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ofm.json index 85dd4d9ae..39c64f3ef 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ofm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/quantization/ofm.json @@ -1,4 +1,4 @@ { - "scale": 0.893733185412837, + "scale": 0.07362665981054306, "zero_point": 0.0 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ifm.json b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ifm.json index 9aee7bcb0..bb4292efe 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ifm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ifm.json @@ -1,4 +1,4 @@ { - "max": 16.0, - "min": 1.0 + "min": 0.02638142943382263, + "max": 0.9729149651527405 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ofm.json b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ofm.json index aa42a6614..1c118e1db 100644 --- a/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ofm.json +++ b/compiler/pota-quantization-value-test/expected_outputs/DepthwiseConv2D_002/layer/uint8/record_minmax/ofm.json @@ -1,4 +1,4 @@ { - "max": 227.90196228027344, - "min": 0.0 + "min": 0.0, + "max": 18.77479721069336 } diff --git a/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/fake_quantization/weight.json b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/fake_quantization/weight.json new file mode 100644 index 000000000..e1da53ab0 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/fake_quantization/weight.json @@ -0,0 +1,76 @@ +{ + "weights": [ + [ + 1.0039215087890625, + 2.007843017578125, + -3.0117650032043457, + -4.015686511993408, + -5.019608497619629, + 6.023530006408691, + -7.027451515197754, + 7.9686279296875, + 4.01568603515625, + -2.007843494415283, + 3.0117645263671875, + -1.0039215087890625, + -7.9686279296875, + -6.023530006408691, + 7.027451515197754, + 5.019608497619629 + ], + [ + 1.0039215087890625, + 2.007843017578125, + -3.0117650032043457, + -4.015686511993408, + -5.019608497619629, + 6.023530006408691, + -7.027451515197754, + 7.9686279296875, + 4.01568603515625, + -2.007843494415283, + 3.0117645263671875, + -1.0039215087890625, + -7.9686279296875, + -6.023530006408691, + 7.027451515197754, + 5.019608497619629 + ], + [ + 1.0039215087890625, + 2.007843017578125, + -3.0117650032043457, + -4.015686511993408, + -5.019608497619629, + 6.023530006408691, + -7.027451515197754, + 7.9686279296875, + 4.01568603515625, + -2.007843494415283, + 3.0117645263671875, + -1.0039215087890625, + -7.9686279296875, + -6.023530006408691, + 7.027451515197754, + 5.019608497619629 + ], + [ + 1.0039215087890625, + 2.007843017578125, + -3.0117650032043457, + -4.015686511993408, + -5.019608497619629, + 6.023530006408691, + -7.027451515197754, + 7.9686279296875, + 4.01568603515625, + -2.007843494415283, + 3.0117645263671875, + -1.0039215087890625, + -7.9686279296875, + -6.023530006408691, + 7.027451515197754, + 5.019608497619629 + ] + ] +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/bias.json b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/bias.json new file mode 100644 index 000000000..ecb49bb64 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/bias.json @@ -0,0 +1,9 @@ +{ + "weights": [ + 415, + -829, + -1244, + 1658 + ], + "scale": 0.00241205753304663 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/in.json b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/in.json new file mode 100644 index 000000000..654824b5d --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/in.json @@ -0,0 +1,4 @@ +{ + "scale": 0.03844216465950012, + "zero_point": 126.0 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/out.json b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/out.json new file mode 100644 index 000000000..3baa42155 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/out.json @@ -0,0 +1,4 @@ +{ + "scale": 0.741962730884552, + "zero_point": 156.0 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/weight.json b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/weight.json new file mode 100644 index 000000000..940224049 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/quantization/weight.json @@ -0,0 +1,80 @@ +{ + "weights": [ + [ + 143, + 159, + 79, + 63, + 47, + 223, + 15, + 254, + 191, + 95, + 175, + 111, + 0, + 31, + 239, + 207 + ], + [ + 143, + 159, + 79, + 63, + 47, + 223, + 15, + 254, + 191, + 95, + 175, + 111, + 0, + 31, + 239, + 207 + ], + [ + 143, + 159, + 79, + 63, + 47, + 223, + 15, + 254, + 191, + 95, + 175, + 111, + 0, + 31, + 239, + 207 + ], + [ + 143, + 159, + 79, + 63, + 47, + 223, + 15, + 254, + 191, + 95, + 175, + 111, + 0, + 31, + 239, + 207 + ] + ], + "scale": 0.062745101749897, + "zero_point": 127.0, + "min": -7.9686279296875, + "max": 8.031373023986816 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/record_minmax/in.json b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/record_minmax/in.json new file mode 100644 index 000000000..a8ec5b2b6 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/record_minmax/in.json @@ -0,0 +1,4 @@ +{ + "min": -4.832756385803223, + "max": 4.969995346069336 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/record_minmax/out.json b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/record_minmax/out.json new file mode 100644 index 000000000..de3b41564 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/FullyConnected_003/layer/uint8/record_minmax/out.json @@ -0,0 +1,4 @@ +{ + "min": -115.99438369750976, + "max": 73.20612327575684 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/fake_quantization/ker.json b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/fake_quantization/ker.json new file mode 100644 index 000000000..76a0440a0 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/fake_quantization/ker.json @@ -0,0 +1,48 @@ +{ + "weights": [ + [ + [ + [ + 0.960784912109375, + 2.0588245391845703 + ], + [ + -3.0196075439453125, + -3.980391502380371 + ], + [ + 4.9411773681640625, + -6.039215087890625 + ] + ], + [ + [ + 7.0, + 7.960784912109375 + ], + [ + -9.058823585510254, + -10.019607543945312 + ], + [ + 10.980392456054688, + -11.941176414489746 + ] + ], + [ + [ + 13.039216995239258, + 14.000001907348633 + ], + [ + -14.960784912109375, + -16.05882453918457 + ], + [ + 17.019607543945312, + -17.980392456054688 + ] + ] + ] + ] +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ifm.json b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ifm.json new file mode 100644 index 000000000..dc5ca8dd5 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ifm.json @@ -0,0 +1,4 @@ +{ + "scale": 0.03869570419192314, + "zero_point": 126.0 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ker.json b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ker.json new file mode 100644 index 000000000..bc150bbb0 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ker.json @@ -0,0 +1,52 @@ +{ + "weights": [ + [ + [ + [ + 138, + 146 + ], + [ + 109, + 102 + ], + [ + 167, + 87 + ] + ], + [ + [ + 182, + 189 + ], + [ + 65, + 58 + ], + [ + 211, + 44 + ] + ], + [ + [ + 226, + 233 + ], + [ + 22, + 14 + ], + [ + 255, + 0 + ] + ] + ] + ], + "scale": 0.13725490868091583, + "zero_point": 131.0, + "min": -17.980392456054688, + "max": 17.019609451293945 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ofm.json b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ofm.json new file mode 100644 index 000000000..bfd862189 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/quantization/ofm.json @@ -0,0 +1,4 @@ +{ + "scale": 1.6333034038543701, + "zero_point": 127.0 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/record_minmax/ifm.json b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/record_minmax/ifm.json new file mode 100644 index 000000000..2d2af08a6 --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/record_minmax/ifm.json @@ -0,0 +1,4 @@ +{ + "min": -4.890846576690674, + "max": 4.976558513641357 +} diff --git a/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/record_minmax/ofm.json b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/record_minmax/ofm.json new file mode 100644 index 000000000..24598f06e --- /dev/null +++ b/compiler/pota-quantization-value-test/expected_outputs/TransposeConv_001/layer/uint8/record_minmax/ofm.json @@ -0,0 +1,4 @@ +{ + "min": -207.54233032226563, + "max": 208.95002136230468 +} diff --git a/compiler/pota-quantization-value-test/test.lst b/compiler/pota-quantization-value-test/test.lst index 65613ff8f..9eb348922 100644 --- a/compiler/pota-quantization-value-test/test.lst +++ b/compiler/pota-quantization-value-test/test.lst @@ -1,2 +1,4 @@ addTest(Conv2D_004 layer uint8) addTest(DepthwiseConv2D_002 layer uint8) +addTest(FullyConnected_003 layer uint8) +addTest(TransposeConv_001 layer uint8) diff --git a/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/0.txt b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/0.txt index 8803cb178..0614b5e83 100644 --- a/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/0.txt +++ b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/0.txt @@ -1 +1 @@ -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 +0.01090685,0.0581577 ,0.637094 ,0.64067715,0.26264507,0.13692169,0.9649414 ,0.5117181 ,0.18012471,0.07855253,0.6358017 ,0.62257963,0.41469443,0.93169045,0.20763828,0.7634293 ,0.75929826,0.72708374,0.23463063,0.58222896,0.6351517 ,0.68781173,0.5558012 ,0.7652179 diff --git a/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/1.txt b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/1.txt new file mode 100644 index 000000000..b1c39382f --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/1.txt @@ -0,0 +1 @@ +0.57017624,0.08235867,0.03672464,0.40372616,0.7353964 ,0.59611887,0.7675548 ,0.21004233,0.09803218,0.20009473,0.8821493 ,0.17015271,0.14840214,0.99910176,0.37003204,0.22893582,0.43173164,0.3105084 ,0.41997132,0.43714985,0.08115962,0.71896386,0.7810953 ,0.00524598 diff --git a/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/2.txt b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/2.txt new file mode 100644 index 000000000..7e562de75 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/2.txt @@ -0,0 +1 @@ +0.65292275,0.79842275,0.97853714,0.6711518 ,0.607567 ,0.40971732,0.74838483,0.95853555,0.32158023,0.911524 ,0.66938365,0.8573132 ,0.3047727 ,0.5561248 ,0.914098 ,0.07650814,0.37868017,0.29269257,0.19652605,0.63025194,0.61496884,0.32011527,0.8204132 ,0.21866946 diff --git a/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/3.txt b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/3.txt new file mode 100644 index 000000000..2958a7f54 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/3.txt @@ -0,0 +1 @@ +0.4548901 ,0.56957537,0.0252368 ,0.4884317 ,0.7516498 ,0.02631272,0.22107519,0.95249426,0.34902394,0.11520014,0.808911 ,0.4148615 ,0.63615656,0.84020686,0.3633697 ,0.23993976,0.54176176,0.86938345,0.81628686,0.6380988 ,0.91891205,0.0406627 ,0.90289026,0.9429013 diff --git a/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/4.txt b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/4.txt new file mode 100644 index 000000000..fc969308e --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/Conv2D_004/layer/uint8/4.txt @@ -0,0 +1 @@ +0.9309136 ,0.02123719,0.64467335,0.6910113 ,0.47402772,0.54622203,0.31527275,0.81530565,0.98981965,0.36102158,0.03114039,0.1902339 ,0.45183742,0.60178596,0.4683102 ,0.59810966,0.40558222,0.5420302 ,0.72699505,0.9575108 ,0.46746576,0.08518691,0.40302262,0.69213694 diff --git a/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/0.txt b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/0.txt index c210774d2..44f0ff107 100644 --- a/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/0.txt +++ b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/0.txt @@ -1 +1 @@ -1, 2, 7, 8, 3, 4, 9, 10, 5, 6, 11, 12, 13, 14, 15, 16 +0.31365377,0.6127105 ,0.7047126 ,0.2511918 ,0.16652136,0.36075932,0.44332707,0.77615815,0.60456425,0.26207635,0.28714025,0.11579613,0.89698446,0.67223394,0.3757766 ,0.11787009 diff --git a/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/1.txt b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/1.txt new file mode 100644 index 000000000..98e81041f --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/1.txt @@ -0,0 +1 @@ +0.9409595 ,0.3991174 ,0.43546647,0.221152 ,0.7794665 ,0.8619514 ,0.5903087 ,0.24476172,0.5932698 ,0.2727837 ,0.3980262 ,0.13329633,0.4319272 ,0.37872055,0.1721639 ,0.92437047 diff --git a/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/2.txt b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/2.txt new file mode 100644 index 000000000..e9867529b --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/2.txt @@ -0,0 +1 @@ +0.6484028 ,0.09222967,0.76285905,0.02265582,0.2564394 ,0.11219095,0.22529566,0.09101159,0.15937322,0.3540595 ,0.25971088,0.4681136 ,0.4279646 ,0.5386553 ,0.11397707,0.7413688 diff --git a/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/3.txt b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/3.txt new file mode 100644 index 000000000..9b36fb520 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/3.txt @@ -0,0 +1 @@ +0.9182678 ,0.8253187 ,0.6572848 ,0.46436486,0.45208713,0.42112917,0.24383743,0.16039051,0.24649048,0.63431305,0.31141657,0.25664324,0.721266 ,0.18996912,0.35422477,0.8826148 diff --git a/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/4.txt b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/4.txt new file mode 100644 index 000000000..6b8957dcc --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/DepthwiseConv2D_002/layer/uint8/4.txt @@ -0,0 +1 @@ +0.97424644,0.9360494 ,0.6849295 ,0.21313633,0.23943195,0.32497332,0.5091704 ,0.67543274,0.49667478,0.73460567,0.5866559 ,0.5312464 ,0.8252662 ,0.36093768,0.7143621 ,0.7234413 diff --git a/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/0.txt b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/0.txt new file mode 100644 index 000000000..233e5eae3 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/0.txt @@ -0,0 +1 @@ + 2.7731526 , 2.451602 , 3.7535272 ,-1.2774152 , 1.5482912 , 1.3402948 , 4.4792123 ,-4.4954367 , 3.354679 ,-3.3615496 ,-4.619757 ,-3.3659618 , 4.7626247 ,-1.3596478 ,-4.835548 , 0.78964525 diff --git a/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/1.txt b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/1.txt new file mode 100644 index 000000000..6a126081d --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/1.txt @@ -0,0 +1 @@ + 0.5400839 ,-3.2621996 ,-3.4817135 , 3.8183312 , 0.48498327, 2.9812584 , 4.111276 , 0.11223658, 4.7201405 , 2.4256718 , 1.4895477 , 4.7596602 ,-0.32709372, 1.3507305 ,-0.30043927,-1.8077502 diff --git a/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/2.txt b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/2.txt new file mode 100644 index 000000000..eccd2c625 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/2.txt @@ -0,0 +1 @@ + 3.8758078 , 4.978636 ,-0.22925885,-2.6760504 ,-1.9160627 ,-4.609644 ,-0.9515802 , 3.558274 , 2.9096057 , 0.3340422 , 0.38608226,-0.32168412, 4.688853 ,-4.583811 ,-2.5113506 ,-4.6688786 diff --git a/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/3.txt b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/3.txt new file mode 100644 index 000000000..0da05277c --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/3.txt @@ -0,0 +1 @@ +-2.9868221 , 2.4237797 , 1.0833962 ,-0.9231426 ,-2.1091506 ,-2.6163697 ,-0.23101932,-1.9252896 , 4.7034135 , 3.1088963 ,-2.345823 ,-2.7866168 ,-3.186763 ,-4.431844 , 3.3113294 , 0.9501982 diff --git a/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/4.txt b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/4.txt new file mode 100644 index 000000000..ace24f7c1 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/FullyConnected_003/layer/uint8/4.txt @@ -0,0 +1 @@ + 3.9716747 ,-2.254871 , 1.1943274 ,-2.212602 , 3.4311683 , 1.114989 , 4.0739036 , 0.47244295,-3.5793104 ,-3.359908 ,-4.7657595 , 2.0369127 ,-2.5619278 ,-3.4452975 ,-4.5852203 ,-1.137643 diff --git a/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/0.txt b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/0.txt new file mode 100644 index 000000000..e9db48f9e --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/0.txt @@ -0,0 +1 @@ +-1.4124781 , 0.42694193, 1.1734594 ,-3.5111153 ,-2.9756174 , 1.3682148 ,-2.318465 , 2.198896 ,-4.5043235 , 3.1775594 ,-0.42802384,-1.4872279 , 1.3821319 ,-4.771963 ,-0.12837897, 4.132799 , 3.697655 , 2.0807178 ,-3.621293 , 2.121878 ,-0.25654107, 0.42100102,-1.4009671 ,-2.9733627 ,-0.7058871 ,-2.831215 , 3.5669627 , 2.1420689 ,-1.8789555 , 0.8104939 ,-2.0503597 , 1.7788508 diff --git a/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/1.txt b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/1.txt new file mode 100644 index 000000000..479d062f1 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/1.txt @@ -0,0 +1 @@ + 3.4726453 , 3.0497985 ,-4.234619 ,-1.0526706 , 1.7278554 ,-3.341614 , 4.54768 , 3.0954597 ,-3.735109 , 2.8810751 ,-2.5381427 ,-3.2360535 ,-1.5378917 , 2.3052745 ,-3.170938 ,-3.327242 , 2.0654576 ,-2.2294598 ,-1.881382 , 0.13216451,-4.2825613 , 0.26616526, 4.6196365 ,-0.88623226, 1.7103885 ,-1.5865034 ,-3.9114466 ,-3.2227128 , 4.909618 , 2.3318915 , 0.84300846, 0.760918 diff --git a/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/2.txt b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/2.txt new file mode 100644 index 000000000..ae28234bd --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/2.txt @@ -0,0 +1 @@ +-4.6097918,-4.21991 ,-3.9955974, 3.6492047, 2.9191775, 2.8082933, 1.6189331, 0.2730309,-1.5029653,-1.9471445, 4.8758197, 3.3177438, 3.1338058,-2.1281245,-1.7526287,-2.5518703,-1.7746793, 4.0455256,-0.5839861,-4.408046 ,-4.0034447, 1.5858272,-4.5896654, 4.7211285,-4.677515 ,-2.6027086,-4.7896166,-3.5512326,-1.9068764,-2.9705904,-4.854087 ,-4.892111 diff --git a/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/3.txt b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/3.txt new file mode 100644 index 000000000..fd40f84f4 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/3.txt @@ -0,0 +1 @@ + 2.1514777e-02, 2.6526773e+00,-3.0477784e+00, 1.3287724e+00,-4.1414630e-01,-1.7295350e-01, 7.6649576e-01,-1.8028022e+00,-7.0781744e-01,-2.5262204e-01,-3.0970418e+00,-1.3165286e+00,-4.6649928e+00, 2.0809033e+00,-1.5739973e+00,-4.0531826e-01,-2.1718202e+00, 2.0146034e+00, 2.5044403e+00,-1.1256610e+00, 1.3536702e+00, 1.0283234e-03,-1.8823910e+00, 4.7122188e+00, 9.4781297e-01, 3.2012525e+00,-5.5164534e-01,-2.6158772e+00,-1.8771547e+00,-3.1689723e+00, 4.9054880e+00,-3.4560370e+00 diff --git a/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/4.txt b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/4.txt new file mode 100644 index 000000000..e81c3b8e5 --- /dev/null +++ b/compiler/pota-quantization-value-test/test_inputs/TransposeConv_001/layer/uint8/4.txt @@ -0,0 +1 @@ +-2.0927553 ,-2.107511 ,-1.6963564 , 1.7006218 , 1.4575784 , 0.06095728, 1.2659966 , 4.1905265 , 1.3035946 , 4.9793477 ,-4.3388166 ,-0.23496658, 1.9831208 , 2.6154642 ,-0.2790228 ,-3.1774354 ,-3.178935 ,-1.1564373 ,-0.8199472 ,-2.245698 ,-4.8605046 ,-3.569018 ,-1.4226891 ,-4.1067843 , 2.6078918 ,-3.5830674 , 1.9065963 , 2.435578 ,-3.3216476 , 4.5930347 , 2.9191844 , 1.7885648 diff --git a/compiler/pota-quantization-value-test/test_record_minmax.sh b/compiler/pota-quantization-value-test/test_record_minmax.sh index eaa462d0c..acb7574c0 100755 --- a/compiler/pota-quantization-value-test/test_record_minmax.sh +++ b/compiler/pota-quantization-value-test/test_record_minmax.sh @@ -59,9 +59,9 @@ while [ "$1" != "" ]; do # Run record-minmax "${RECORD_MINMAX_PATH}" \ - "${TEST_RESULT_FILE}.fake_quantized.circle" \ - "${TEST_RESULT_FILE}.input.h5" \ - "${TEST_RESULT_FILE}.minmax_recorded.circle" + --input_model "${TEST_RESULT_FILE}.fake_quantized.circle" \ + --input_data "${TESTCASE_FILE}.input.h5" \ + --output_model "${TEST_RESULT_FILE}.minmax_recorded.circle" # Dump min/max values (circle-tensordump) "${CIRCLE_TENSORDUMP_PATH}" \ |