blob: 8f176c2fd62d8133c1ce11ed97709d557f2ef17f [file] [log] [blame]
Jan Eilers45274902020-10-15 18:34:43 +01001//
2// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <armnn/BackendId.hpp>
9#include <armnn/Tensor.hpp>
10
11/// Holds all parameters necessary to execute a network
12/// Check ExecuteNetworkProgramOptions.cpp for a description of each parameter
13struct ExecuteNetworkParams
14{
15 using TensorShapePtr = std::unique_ptr<armnn::TensorShape>;
16
17 std::vector<armnn::BackendId> m_ComputeDevices;
18 bool m_DequantizeOutput;
19 std::string m_DynamicBackendsPath;
20 bool m_EnableBf16TurboMode;
21 bool m_EnableFastMath = false;
22 bool m_EnableFp16TurboMode;
23 bool m_EnableLayerDetails = false;
24 bool m_EnableProfiling;
25 bool m_GenerateTensorData;
26 bool m_InferOutputShape = false;
Sadik Armagan5d03e312020-11-17 16:43:56 +000027 bool m_EnableDelegate = false;
Jan Eilers45274902020-10-15 18:34:43 +010028 std::vector<std::string> m_InputNames;
29 std::vector<std::string> m_InputTensorDataFilePaths;
30 std::vector<TensorShapePtr> m_InputTensorShapes;
31 std::vector<std::string> m_InputTypes;
32 bool m_IsModelBinary;
33 size_t m_Iterations;
34 std::string m_ModelFormat;
35 std::string m_ModelPath;
36 std::vector<std::string> m_OutputNames;
37 std::vector<std::string> m_OutputTensorFiles;
38 std::vector<std::string> m_OutputTypes;
39 bool m_ParseUnsupported = false;
40 bool m_PrintIntermediate;
41 bool m_QuantizeInput;
42 size_t m_SubgraphId;
43 double m_ThresholdTime;
44 int m_TuningLevel;
45 std::string m_TuningPath;
46
47 // Ensures that the parameters for ExecuteNetwork fit together
48 void ValidateParams();
49};