ArmNN
 23.05
OptimizerOptions Struct Reference

#include <INetwork.hpp>

Public Member Functions

 OptimizerOptions ()
 
 OptimizerOptions (bool reduceFp32ToFp16, bool debug, bool reduceFp32ToBf16, bool importEnabled, ModelOptions modelOptions={}, bool exportEnabled=false, bool debugToFile=false)
 
 OptimizerOptions (bool reduceFp32ToFp16, bool debug, bool reduceFp32ToBf16=false, ShapeInferenceMethod shapeInferenceMethod=armnn::ShapeInferenceMethod::ValidateOnly, bool importEnabled=false, ModelOptions modelOptions={}, bool exportEnabled=false, bool debugToFile=false, bool allowExpandedDims=false)
 
const std::string ToString () const
 

Public Attributes

bool m_ReduceFp32ToFp16
 Reduces all Fp32 operators in the model to Fp16 for faster processing. More...
 
bool m_Debug
 Add debug data for easier troubleshooting. More...
 
bool m_DebugToFile
 Pass debug data to separate output files for easier troubleshooting. More...
 
bool m_ReduceFp32ToBf16
 @Note This feature has been replaced by enabling Fast Math in compute library backend options. More...
 
ShapeInferenceMethod m_shapeInferenceMethod
 Infer output size when not available. More...
 
bool m_ImportEnabled
 Enable Import. More...
 
ModelOptions m_ModelOptions
 Enable Model Options. More...
 
bool m_ProfilingEnabled
 Enable profiling dump of the optimizer phase. More...
 
bool m_ExportEnabled
 Enable Export. More...
 
bool m_AllowExpandedDims
 When calculating tensor sizes, dimensions of size == 1 will be ignored. More...
 

Detailed Description

Definition at line 139 of file INetwork.hpp.

Constructor & Destructor Documentation

◆ OptimizerOptions() [1/3]

OptimizerOptions ( )
inline

Definition at line 142 of file INetwork.hpp.

143  : m_ReduceFp32ToFp16(false)
144  , m_Debug(false)
145  , m_DebugToFile(false)
146  , m_ReduceFp32ToBf16(false)
148  , m_ImportEnabled(false)
149  , m_ModelOptions()
150  , m_ProfilingEnabled(false)
151  , m_ExportEnabled(false)
152  , m_AllowExpandedDims(false)
153  {}

◆ OptimizerOptions() [2/3]

OptimizerOptions ( bool  reduceFp32ToFp16,
bool  debug,
bool  reduceFp32ToBf16,
bool  importEnabled,
ModelOptions  modelOptions = {},
bool  exportEnabled = false,
bool  debugToFile = false 
)
inline

Definition at line 156 of file INetwork.hpp.

157  {}, bool exportEnabled = false, bool debugToFile = false)
158  : m_ReduceFp32ToFp16(reduceFp32ToFp16)
159  , m_Debug(debug)
160  , m_DebugToFile(debugToFile)
161  , m_ReduceFp32ToBf16(reduceFp32ToBf16)
163  , m_ImportEnabled(importEnabled)
164  , m_ModelOptions(modelOptions)
165  , m_ProfilingEnabled(false)
166  , m_ExportEnabled(exportEnabled)
167  , m_AllowExpandedDims(false)
168  {
169  }

◆ OptimizerOptions() [3/3]

OptimizerOptions ( bool  reduceFp32ToFp16,
bool  debug,
bool  reduceFp32ToBf16 = false,
ShapeInferenceMethod  shapeInferenceMethod = armnn::ShapeInferenceMethod::ValidateOnly,
bool  importEnabled = false,
ModelOptions  modelOptions = {},
bool  exportEnabled = false,
bool  debugToFile = false,
bool  allowExpandedDims = false 
)
inline

Definition at line 172 of file INetwork.hpp.

174  {}, bool exportEnabled = false,
175  bool debugToFile = false, bool allowExpandedDims = false)
176  : m_ReduceFp32ToFp16(reduceFp32ToFp16)
177  , m_Debug(debug)
178  , m_DebugToFile(debugToFile)
179  , m_ReduceFp32ToBf16(reduceFp32ToBf16)
180  , m_shapeInferenceMethod(shapeInferenceMethod)
181  , m_ImportEnabled(importEnabled)
182  , m_ModelOptions(modelOptions)
183  , m_ProfilingEnabled(false)
184  , m_ExportEnabled(exportEnabled)
185  , m_AllowExpandedDims(allowExpandedDims)
186  {
187  }

Member Function Documentation

◆ ToString()

const std::string ToString ( ) const
inline

Definition at line 189 of file INetwork.hpp.

190  {
191  std::stringstream stream;
192  stream << "OptimizerOptions: \n";
193  stream << "\tReduceFp32ToFp16: " << m_ReduceFp32ToFp16 << "\n";
194  stream << "\tReduceFp32ToBf16: " << m_ReduceFp32ToBf16 << "\n";
195  stream << "\tDebug: " << m_Debug << "\n";
196  stream << "\tDebug to file: " << m_DebugToFile << "\n";
197  stream << "\tShapeInferenceMethod: " <<
199  ? "ValidateOnly" : "InferAndValidate") << "\n";
200  stream << "\tImportEnabled: " << m_ImportEnabled << "\n";
201  stream << "\tExportEnabled: " << m_ExportEnabled << "\n";
202  stream << "\tProfilingEnabled: " << m_ProfilingEnabled << "\n";
203  stream << "\tAllowExpandedDims: " << m_AllowExpandedDims << "\n";
204 
205  stream << "\tModelOptions: \n";
206  for (auto optionsGroup : m_ModelOptions)
207  {
208  for (size_t i=0; i < optionsGroup.GetOptionCount(); i++)
209  {
210  const armnn::BackendOptions::BackendOption option = optionsGroup.GetOption(i);
211  stream << "\t\tBackend: " << optionsGroup.GetBackendId() << "\n"
212  << "\t\t\tOption: " << option.GetName() << "\n"
213  << "\t\t\tValue: " << std::string(option.GetValue().ToString()) << "\n";
214  }
215  }
216 
217  return stream.str();
218  }

References BackendOptions::BackendOption::GetName(), BackendOptions::BackendOption::GetValue(), OptimizerOptions::m_AllowExpandedDims, OptimizerOptions::m_Debug, OptimizerOptions::m_DebugToFile, OptimizerOptions::m_ExportEnabled, OptimizerOptions::m_ImportEnabled, OptimizerOptions::m_ModelOptions, OptimizerOptions::m_ProfilingEnabled, OptimizerOptions::m_ReduceFp32ToBf16, OptimizerOptions::m_ReduceFp32ToFp16, OptimizerOptions::m_shapeInferenceMethod, BackendOptions::Var::ToString(), and armnn::ValidateOnly.

Member Data Documentation

◆ m_AllowExpandedDims

bool m_AllowExpandedDims

When calculating tensor sizes, dimensions of size == 1 will be ignored.

Definition at line 253 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_Debug

bool m_Debug

Add debug data for easier troubleshooting.

Definition at line 228 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_DebugToFile

bool m_DebugToFile

Pass debug data to separate output files for easier troubleshooting.

Definition at line 231 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_ExportEnabled

bool m_ExportEnabled

Enable Export.

Definition at line 250 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_ImportEnabled

bool m_ImportEnabled

Enable Import.

Definition at line 241 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_ModelOptions

ModelOptions m_ModelOptions

Enable Model Options.

Definition at line 244 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_ProfilingEnabled

bool m_ProfilingEnabled

Enable profiling dump of the optimizer phase.

Definition at line 247 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_ReduceFp32ToBf16

bool m_ReduceFp32ToBf16

@Note This feature has been replaced by enabling Fast Math in compute library backend options.

This is currently a placeholder option

Definition at line 235 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_ReduceFp32ToFp16

bool m_ReduceFp32ToFp16

Reduces all Fp32 operators in the model to Fp16 for faster processing.

@Note This feature works best if all operators of the model are in Fp32. ArmNN will add conversion layers between layers that weren't in Fp32 in the first place or if the operator is not supported in Fp16. The overhead of these conversions can lead to a slower overall performance if too many conversions are required.

Definition at line 225 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().

◆ m_shapeInferenceMethod

ShapeInferenceMethod m_shapeInferenceMethod

Infer output size when not available.

Definition at line 238 of file INetwork.hpp.

Referenced by OptimizerOptionsOpaque::OptimizerOptionsOpaque(), and OptimizerOptions::ToString().


The documentation for this struct was generated from the following file:
armnn::BackendOptions::BackendOption::GetValue
Var GetValue() const
Definition: BackendOptions.hpp:252
armnn::OptimizerOptions::m_AllowExpandedDims
bool m_AllowExpandedDims
When calculating tensor sizes, dimensions of size == 1 will be ignored.
Definition: INetwork.hpp:253
armnn::OptimizerOptions::m_ExportEnabled
bool m_ExportEnabled
Enable Export.
Definition: INetwork.hpp:250
armnn::OptimizerOptions::m_ReduceFp32ToFp16
bool m_ReduceFp32ToFp16
Reduces all Fp32 operators in the model to Fp16 for faster processing.
Definition: INetwork.hpp:225
armnn::ShapeInferenceMethod::ValidateOnly
@ ValidateOnly
Validate all output shapes.
armnn::OptimizerOptions::m_ModelOptions
ModelOptions m_ModelOptions
Enable Model Options.
Definition: INetwork.hpp:244
armnn::BackendOptions::Var::ToString
std::string ToString()
Definition: BackendOptions.hpp:124
armnn::BackendOptions::BackendOption::GetName
std::string GetName() const
Definition: BackendOptions.hpp:251
armnn::OptimizerOptions::m_ProfilingEnabled
bool m_ProfilingEnabled
Enable profiling dump of the optimizer phase.
Definition: INetwork.hpp:247
armnn::OptimizerOptions::m_DebugToFile
bool m_DebugToFile
Pass debug data to separate output files for easier troubleshooting.
Definition: INetwork.hpp:231
armnn::BackendOptions::BackendOption
Definition: BackendOptions.hpp:215
armnn::OptimizerOptions::m_ReduceFp32ToBf16
bool m_ReduceFp32ToBf16
@Note This feature has been replaced by enabling Fast Math in compute library backend options.
Definition: INetwork.hpp:235
armnn::OptimizerOptions::m_shapeInferenceMethod
ShapeInferenceMethod m_shapeInferenceMethod
Infer output size when not available.
Definition: INetwork.hpp:238
armnn::OptimizerOptions::m_Debug
bool m_Debug
Add debug data for easier troubleshooting.
Definition: INetwork.hpp:228
armnn::OptimizerOptions::m_ImportEnabled
bool m_ImportEnabled
Enable Import.
Definition: INetwork.hpp:241