diff options
author | Francis Murtagh <francis.murtagh@arm.com> | 2020-03-10 13:51:45 +0000 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2020-03-10 14:02:00 +0000 |
commit | ddb1d06dbcb5dc4a89a237ac1176279669817f46 (patch) | |
tree | e2d1104bea631f8f366f529201041e701d09b998 /src/armnnQuantizer | |
parent | 6445cfff7519effd1df04eac88ae17d6e4e6693b (diff) | |
download | armnn-ddb1d06dbcb5dc4a89a237ac1176279669817f46.tar.gz |
MLCE-159 Add QAsymmS8 to ArmnnQuantizer
* Allow per layer quantization from Fp32 to Int8 (QAsymmS8) like TfLite
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I5bbf770aa29d81af3568c15b47d2b2c18e55bb28
Diffstat (limited to 'src/armnnQuantizer')
-rw-r--r-- | src/armnnQuantizer/ArmNNQuantizerMain.cpp | 16 | ||||
-rw-r--r-- | src/armnnQuantizer/CommandLineProcessor.cpp | 12 |
2 files changed, 21 insertions, 7 deletions
diff --git a/src/armnnQuantizer/ArmNNQuantizerMain.cpp b/src/armnnQuantizer/ArmNNQuantizerMain.cpp index 30167e73f2..219363edbb 100644 --- a/src/armnnQuantizer/ArmNNQuantizerMain.cpp +++ b/src/armnnQuantizer/ArmNNQuantizerMain.cpp @@ -36,9 +36,19 @@ int main(int argc, char* argv[]) inputFileStream.close(); armnn::QuantizerOptions quantizerOptions; - quantizerOptions.m_ActivationFormat = cmdline.GetQuantizationScheme() == "QSymm16" - ? armnn::DataType::QSymmS16 - : armnn::DataType::QAsymmU8; + + if (cmdline.GetQuantizationScheme() == "QAsymmS8") + { + quantizerOptions.m_ActivationFormat = armnn::DataType::QAsymmS8; + } + else if (cmdline.GetQuantizationScheme() == "QSymmS16") + { + quantizerOptions.m_ActivationFormat = armnn::DataType::QSymmS16; + } + else + { + quantizerOptions.m_ActivationFormat = armnn::DataType::QAsymmU8; + } quantizerOptions.m_PreserveType = cmdline.HasPreservedDataType(); diff --git a/src/armnnQuantizer/CommandLineProcessor.cpp b/src/armnnQuantizer/CommandLineProcessor.cpp index d2163c0869..0cccb66f63 100644 --- a/src/armnnQuantizer/CommandLineProcessor.cpp +++ b/src/armnnQuantizer/CommandLineProcessor.cpp @@ -67,8 +67,10 @@ bool ValidateQuantizationScheme(const std::string& scheme) return false; } - std::vector<std::string> supportedSchemes = { - "QAsymm8", + std::vector<std::string> supportedSchemes = + { + "QAsymmS8", + "QAsymmU8", "QSymm16" }; @@ -93,8 +95,10 @@ bool CommandLineProcessor::ProcessCommandLine(int argc, char* argv[]) ("help,h", "Display help messages") ("infile,f", po::value<std::string>(&m_InputFileName)->required(), "Input file containing float 32 ArmNN Input Graph") - ("scheme,s", po::value<std::string>(&m_QuantizationScheme)->default_value("QAsymm8"), - "Quantization scheme, \"QAsymm8\" or \"QSymm16\", default value QAsymm8") + ("scheme,s", po::value<std::string>(&m_QuantizationScheme)->default_value("QAsymmU8"), + "Quantization scheme," + " \"QAsymmU8\" or \"QAsymmS8\" or \"QSymm16\"," + " default value QAsymmU8") ("csvfile,c", po::value<std::string>(&m_CsvFileName)->default_value(""), "CSV file containing paths for RAW input tensors") ("preserve-data-type,p", po::bool_switch(&m_PreserveDataType)->default_value(false), |