aboutsummaryrefslogtreecommitdiff
path: root/src/armnnQuantizer/CommandLineProcessor.hpp
blob: f55e7a213fd879e1ec9168aef1453a90b7d44514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once

#include <string>
#include <iostream>

namespace armnnQuantizer
{

// parses the command line to extract
// * the input file -f containing the serialized fp32 ArmNN input graph (must exist...and be a input graph file)
// * the directory -d to place the output file into (must already exist and be writable)
// * the name of the file -o the quantized ArmNN input graph will be written to (must not already exist)
// * LATER: the min and max overrides to be applied to the inputs
//          specified as -i <int> (input id) -n <float> (minimum) -x <float> (maximum)
//          multiple sets of -i, -n, -x can appear on the command line but they must match
//          in number i.e. a -n and -x for each -i and the id of the input must correspond
//          to an input layer in the fp32 graph when it is loaded.
class CommandLineProcessor
{
public:
    bool ProcessCommandLine(int argc, char* argv[]);

    std::string GetInputFileName() {return m_InputFileName;}
    std::string GetOutputDirectoryName() {return m_OutputDirectory;}
    std::string GetOutputFileName() {return m_OutputFileName;}
private:
    std::string m_InputFileName;
    std::string m_OutputDirectory;
    std::string m_OutputFileName;
};

} // namespace armnnQuantizer