diff options
author | Nina Drozd <nina.drozd@arm.com> | 2019-04-25 15:45:20 +0100 |
---|---|---|
committer | Nina Drozd <nina.drozd@arm.com> | 2019-05-03 14:43:50 +0100 |
commit | 59e15b00ea51fee4baeea750dc11ab1952dfab1d (patch) | |
tree | 97e6c9230bf153d404ad3c3e0e285acdb0b6232d /src/armnnQuantizer/QuantizationInput.hpp | |
parent | 8b194fbe79d44cba566ad8b508d1c8902987ae3c (diff) | |
download | armnn-59e15b00ea51fee4baeea750dc11ab1952dfab1d.tar.gz |
IVGCVSW-2834 Add dynamic quantization via datasets
* Add QuantizationDataSet class for quantization data parsed from CSV file
* Add QuantizationInput for retrieving quantization data for each layer ID
* Add unit tests for command line processor and QuantizationDataSet
Change-Id: Iaf0a747b5f25a59a766ac04f7158e8cb7909d179
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Diffstat (limited to 'src/armnnQuantizer/QuantizationInput.hpp')
-rw-r--r-- | src/armnnQuantizer/QuantizationInput.hpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/armnnQuantizer/QuantizationInput.hpp b/src/armnnQuantizer/QuantizationInput.hpp new file mode 100644 index 0000000000..ebabdd704f --- /dev/null +++ b/src/armnnQuantizer/QuantizationInput.hpp @@ -0,0 +1,54 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include <map> +#include <armnn/Types.hpp> +#include <armnn/INetworkQuantizer.hpp> + +namespace armnnQuantizer +{ + +/// QuantizationInput for specific pass ID, can list a corresponding raw data file for each LayerBindingId. +class QuantizationInput +{ +public: + + /// Constructor for QuantizationInput + QuantizationInput(const unsigned int passId, + const armnn::LayerBindingId bindingId, + const std::string fileName); + + QuantizationInput(const QuantizationInput& other); + + // Add binding ID to image tensor filepath entry + void AddEntry(const armnn::LayerBindingId bindingId, const std::string fileName); + + // Retrieve tensor data for entry with provided binding ID + std::vector<float> GetDataForEntry(const armnn::LayerBindingId bindingId) const; + + /// Retrieve Layer Binding IDs for this QuantizationInput. + std::vector<armnn::LayerBindingId> GetLayerBindingIds() const; + + /// Get number of inputs for this QuantizationInput. + unsigned long GetNumberOfInputs() const; + + /// Retrieve Pass ID for this QuantizationInput. + unsigned int GetPassId() const; + + /// Retrieve filename path for specified Layer Binding ID. + std::string GetFileName(const armnn::LayerBindingId bindingId) const; + + /// Destructor + ~QuantizationInput() noexcept; + +private: + unsigned int m_PassId; + std::map<armnn::LayerBindingId, std::string> m_LayerBindingIdToFileName; + +}; + +}
\ No newline at end of file |