aboutsummaryrefslogtreecommitdiff
path: root/src/armnnQuantizer/ArmNNQuantizerMain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnnQuantizer/ArmNNQuantizerMain.cpp')
-rw-r--r--src/armnnQuantizer/ArmNNQuantizerMain.cpp99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/armnnQuantizer/ArmNNQuantizerMain.cpp b/src/armnnQuantizer/ArmNNQuantizerMain.cpp
deleted file mode 100644
index 49652efe25..0000000000
--- a/src/armnnQuantizer/ArmNNQuantizerMain.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#include "CommandLineProcessor.hpp"
-#include <armnnDeserializer/IDeserializer.hpp>
-#include <armnnQuantizer/INetworkQuantizer.hpp>
-#include <armnnSerializer/ISerializer.hpp>
-#include "QuantizationDataSet.hpp"
-#include "QuantizationInput.hpp"
-
-#include <algorithm>
-#include <fstream>
-#include <iostream>
-
-int main(int argc, char* argv[])
-{
- armnnQuantizer::CommandLineProcessor cmdline;
- if (!cmdline.ProcessCommandLine(argc, argv))
- {
- return -1;
- }
- armnnDeserializer::IDeserializerPtr parser = armnnDeserializer::IDeserializer::Create();
- std::ifstream inputFileStream(cmdline.GetInputFileName(), std::ios::binary);
- std::vector<std::uint8_t> binaryContent;
- while (inputFileStream)
- {
- char c;
- inputFileStream.get(c);
- if (inputFileStream)
- {
- binaryContent.push_back(static_cast<std::uint8_t>(c));
- }
- }
- inputFileStream.close();
-
- armnn::QuantizerOptions quantizerOptions;
-
- 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();
-
- armnn::INetworkPtr network = parser->CreateNetworkFromBinary(binaryContent);
- armnn::INetworkQuantizerPtr quantizer = armnn::INetworkQuantizer::Create(network.get(), quantizerOptions);
-
- if (cmdline.HasQuantizationData())
- {
- armnnQuantizer::QuantizationDataSet dataSet = cmdline.GetQuantizationDataSet();
- if (!dataSet.IsEmpty())
- {
- // Get the Input Tensor Infos
- armnnQuantizer::InputLayerStrategy inputLayerStrategy;
- network->ExecuteStrategy(inputLayerStrategy);
-
- for (armnnQuantizer::QuantizationInput quantizationInput : dataSet)
- {
- armnn::InputTensors inputTensors;
- std::vector<std::vector<float>> inputData(quantizationInput.GetNumberOfInputs());
- std::vector<armnn::LayerBindingId> layerBindingIds = quantizationInput.GetLayerBindingIds();
- unsigned int count = 0;
- for (armnn::LayerBindingId layerBindingId : quantizationInput.GetLayerBindingIds())
- {
- armnn::TensorInfo tensorInfo = inputLayerStrategy.GetTensorInfo(layerBindingId);
- inputData[count] = quantizationInput.GetDataForEntry(layerBindingId);
- armnn::ConstTensor inputTensor(tensorInfo, inputData[count].data());
- inputTensors.push_back(std::make_pair(layerBindingId, inputTensor));
- count++;
- }
- quantizer->Refine(inputTensors);
- }
- }
- }
-
- armnn::INetworkPtr quantizedNetwork = quantizer->ExportNetwork();
- armnnSerializer::ISerializerPtr serializer = armnnSerializer::ISerializer::Create();
- serializer->Serialize(*quantizedNetwork);
-
- std::string output(cmdline.GetOutputDirectoryName());
- output.append(cmdline.GetOutputFileName());
- std::ofstream outputFileStream;
- outputFileStream.open(output);
- serializer->SaveSerializedToStream(outputFileStream);
- outputFileStream.flush();
- outputFileStream.close();
-
- return 0;
-} \ No newline at end of file