|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * \file dnn/test/naive/reduce.cpp
- * MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
- *
- * Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- */
- #include "test/naive/fixture.h"
-
- #include "megdnn/oprs/nn.h"
- #include "test/common/checker.h"
- #include "test/common/random_state.h"
-
- using namespace megdnn;
- using namespace test;
-
- TEST_F(NAIVE, REDUCE_QUANTIZED) {
- using Mode = Reduce::Param::Mode;
-
- Checker<Reduce> checker(handle(), /* check_dispatch */ false);
-
- Reduce::Param param;
- param.mode = Mode::SUM;
- param.data_type = param::Reduce::DataType::QUINT_I8xO32;
- param.axis = 0;
- checker.set_param(param).exect(
- Testcase{
- TensorValue(
- {3, 4}, dtype::Quantized8Asymm(0.1f, (uint8_t)128),
- {6, 97, 210, 47, 213, 246, 92, 121, 132, 133, 222, 166}),
- {}},
- Testcase{
- {},
- TensorValue(
- {1, 4}, dtype::QuantizedS32(0.1f), {-33, 92, 140, -50})});
-
- param.data_type = param::Reduce::DataType::DEFAULT;
- param.mode = Mode::MEAN;
- checker.set_param(param).exect(
- Testcase{
- TensorValue(
- {3, 4}, dtype::Quantized8Asymm(1.f, (uint8_t)128),
- {6, 97, 210, 47, 213, 246, 92, 121, 132, 133, 222, 166}),
- {}},
- Testcase{
- {},
- TensorValue(
- {1, 4}, dtype::Quantized8Asymm(1.f, (uint8_t)128),
- {117, 159, 175, 111})});
- checker.exect(
- Testcase{
- TensorValue(
- {3, 4}, dtype::Quantized8Asymm(0.00233f, (uint8_t)128),
- {6, 97, 210, 47, 213, 246, 92, 121, 132, 133, 222, 166}),
- {}},
- Testcase{
- {},
- TensorValue(
- {1, 4}, dtype::Quantized8Asymm(0.00233f, (uint8_t)128),
- {117, 159, 175, 111})});
- checker.exect(
- Testcase{
- TensorValue(
- {3, 4}, dtype::Quantized8Asymm(7e-10f, (uint8_t)45),
- {6, 97, 210, 47, 213, 246, 92, 121, 132, 133, 222, 166}),
- {}},
- Testcase{
- {},
- TensorValue(
- {1, 4}, dtype::Quantized8Asymm(7e-10f, (uint8_t)45),
- {117, 159, 175, 111})});
- }
-
- // vim: syntax=cpp.doxygen
|