add float32, uint8 and int8 unit_tests for transposeConv2d

Signed-off-by: Jing.Deng <Jing.Deng@verisilicon.com>
This commit is contained in:
Jing.Deng 2021-06-24 09:49:49 +08:00 committed by Kainan Cha
parent 1e42cfd668
commit be066fb9bd
3 changed files with 1279 additions and 1 deletions

View File

@ -75,7 +75,7 @@ if (TIM_VX_ENABLE_TEST)
include(GoogleTest)
add_executable(unit_test ${UT_SRC})
target_link_libraries(unit_test gtest gtest_main ${TARGET_NAME}-static)
target_link_libraries(unit_test gtest gtest_main gmock gmock_main ${TARGET_NAME}-static)
install(TARGETS unit_test DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/)
endif()

File diff suppressed because it is too large Load Diff

View File

@ -5,6 +5,20 @@
#include <limits>
#include <ostream>
#include <vector>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
// A gmock matcher that check that elements of a float vector match to a given
// tolerance.
inline std::vector<::testing::Matcher<float>> ArrayFloatNear(
const std::vector<float>& values, float max_abs_error = 1e-5) {
std::vector<::testing::Matcher<float>> matchers;
matchers.reserve(values.size());
for (const float& v : values) {
matchers.emplace_back(testing::FloatNear(v, max_abs_error));
}
return matchers;
}
template <typename T>
std::pair<float, int32_t> QuantizationParams(float f_min, float f_max) {
@ -84,4 +98,16 @@ inline std::vector<T> Quantize(const std::vector<float>& data, float scale,
return q;
}
template <typename T>
inline std::vector<float> Dequantize(const std::vector<T>& data, float scale,
int32_t zero_point) {
std::vector<float> f;
f.reserve(data.size());
for (const T& q : data) {
f.push_back(scale * (q - zero_point));
}
return f;
}
#endif /* TIM_VX_TEST_UTILS_H_ */