blob: 830270adbc433b9d4298d376058ac1383c98c210 [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
Matthew Sloyan42432112021-01-08 10:30:51 +000017 std::string m_CachedNetworkFilePath;
Jan Eilers45274902020-10-15 18:34:43 +010018 std::vector<armnn::BackendId> m_ComputeDevices;
19 bool m_DequantizeOutput;
20 std::string m_DynamicBackendsPath;
21 bool m_EnableBf16TurboMode;
22 bool m_EnableFastMath = false;
23 bool m_EnableFp16TurboMode;
24 bool m_EnableLayerDetails = false;
25 bool m_EnableProfiling;
26 bool m_GenerateTensorData;
27 bool m_InferOutputShape = false;
Sadik Armagan5d03e312020-11-17 16:43:56 +000028 bool m_EnableDelegate = false;
Jan Eilers45274902020-10-15 18:34:43 +010029 std::vector<std::string> m_InputNames;
30 std::vector<std::string> m_InputTensorDataFilePaths;
31 std::vector<TensorShapePtr> m_InputTensorShapes;
32 std::vector<std::string> m_InputTypes;
33 bool m_IsModelBinary;
34 size_t m_Iterations;
35 std::string m_ModelFormat;
36 std::string m_ModelPath;
Matthew Sloyan0a7dc6b2021-02-10 16:50:53 +000037 unsigned int m_NumberOfThreads;
Jan Eilers45274902020-10-15 18:34:43 +010038 std::vector<std::string> m_OutputNames;
39 std::vector<std::string> m_OutputTensorFiles;
40 std::vector<std::string> m_OutputTypes;
41 bool m_ParseUnsupported = false;
42 bool m_PrintIntermediate;
43 bool m_QuantizeInput;
Matthew Sloyan42432112021-01-08 10:30:51 +000044 bool m_SaveCachedNetwork;
Jan Eilers45274902020-10-15 18:34:43 +010045 size_t m_SubgraphId;
46 double m_ThresholdTime;
47 int m_TuningLevel;
48 std::string m_TuningPath;
49
50 // Ensures that the parameters for ExecuteNetwork fit together
51 void ValidateParams();
52};