IVGCVSW-2529 DeepSpeech v1 test
Change-Id: Ieb99ac1aa347cee4b28b831753855c4614220648
diff --git a/tests/InferenceTest.hpp b/tests/InferenceTest.hpp
index 3c22df9..91a65ea 100644
--- a/tests/InferenceTest.hpp
+++ b/tests/InferenceTest.hpp
@@ -100,7 +100,7 @@
class InferenceModelTestCase : public IInferenceTestCase
{
public:
- using TContainer = std::vector<typename TModel::DataType>;
+ using TContainer = boost::variant<std::vector<float>, std::vector<int>, std::vector<unsigned char>>;
InferenceModelTestCase(TModel& model,
unsigned int testCaseId,
@@ -112,11 +112,11 @@
{
// Initialize output vector
const size_t numOutputs = outputSizes.size();
- m_Outputs.resize(numOutputs);
+ m_Outputs.reserve(numOutputs);
for (size_t i = 0; i < numOutputs; i++)
{
- m_Outputs[i].resize(outputSizes[i]);
+ m_Outputs.push_back(std::vector<typename TModel::DataType>(outputSizes[i]));
}
}
@@ -147,6 +147,12 @@
// assuming that float models are not quantized
return value;
}
+
+ static inline float Convert(int value, const InferenceModelInternal::QuantizationParams &)
+ {
+ // assuming that float models are not quantized
+ return static_cast<float>(value);
+ }
};
template <>
@@ -159,6 +165,22 @@
quantizationParams.first,
quantizationParams.second);
}
+
+ static inline float Convert(int value,
+ const InferenceModelInternal::QuantizationParams & quantizationParams)
+ {
+ return armnn::Dequantize<uint8_t>(static_cast<uint8_t>(value),
+ quantizationParams.first,
+ quantizationParams.second);
+ }
+
+ static inline float Convert(float value,
+ const InferenceModelInternal::QuantizationParams & quantizationParams)
+ {
+ return armnn::Dequantize<uint8_t>(static_cast<uint8_t>(value),
+ quantizationParams.first,
+ quantizationParams.second);
+ }
};
template <typename TTestCaseDatabase, typename TModel>