From 59e15b00ea51fee4baeea750dc11ab1952dfab1d Mon Sep 17 00:00:00 2001 From: Nina Drozd Date: Thu, 25 Apr 2019 15:45:20 +0100 Subject: 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 --- src/armnnQuantizer/QuantizationInput.hpp | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/armnnQuantizer/QuantizationInput.hpp (limited to 'src/armnnQuantizer/QuantizationInput.hpp') 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 +#include +#include + +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 GetDataForEntry(const armnn::LayerBindingId bindingId) const; + + /// Retrieve Layer Binding IDs for this QuantizationInput. + std::vector 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 m_LayerBindingIdToFileName; + +}; + +} \ No newline at end of file -- cgit v1.2.1