ImFusion C++ SDK 4.4.0
ImFusion::ML::EngineConfiguration Class Reference
Inheritance diagram for ImFusion::ML::EngineConfiguration:

Public Member Functions

void configure (const Properties *fromProperties) override
 Configures the EngineConfiguration from a Properties object throws a ParamException if the properties are not valid.
void configuration (Properties *toProperties) const override
 Returns the EngineConfiguration parameters as a Properties object.
Properties toProperties () const
 Convenience functions.
const std::stringlogDomain () const
const std::stringoriginalModelPath () const
Public Member Functions inherited from ImFusion::Configurable
virtual void configureDefaults ()
 Retrieve the properties of this object, replaces values with their defaults and sets it again.
void registerParameter (ParameterBase *param)
 Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
void unregisterParameter (const ParameterBase *param)
 Remove the given Parameter or SubProperty from the list of registered parameters.
 Configurable (const Configurable &rhs)
 Configurable (Configurable &&rhs) noexcept
Configurable & operator= (const Configurable &)
Configurable & operator= (Configurable &&) noexcept

Public Attributes

EngineParameter< std::stringp_name = {"Name", "", this, ParamRequired::No}
 Type of the engine, i.e.
EngineParameter< std::stringp_modelFile = {"ModelFile", "", this, ParamRequired::Yes}
 Model file, serialized by the specific framework.
EngineParameter< bool > p_forceCPU = {"ForceCPU", false, this, ParamRequired::No}
 Whether to force run on CPU even if GPU is present.
EngineParameter< std::vector< std::string > > p_inputFields
 Input field names expected by the model run by the engine.
EngineParameter< std::vector< std::string > > p_outputFields
 Output field names returned by the model run by the engine.
EngineParameter< std::vector< std::string > > p_outputFieldsToIgnore
 Output field names returned by the model run by the engine.
EngineParameter< std::stringp_version = {"Version", "", this, ParamRequired::No, "EngineVersion"}
 Version of the engine used to train and save the model.
EngineParameter< bool > p_verbose = {"Verbose", false, this, ParamRequired::No}
 Whether the engine should print a lot of debug information.
Properties p_engineSpecificParameters
 Parameters that are specific to each engine.
EngineParameter< std::stringp_yamlConfigPath = {"YamlConfigPath", "", this, ParamRequired::No}
 This is used to determine the path (relative/absolute/resource) of the model file The way to set it is to attach it to the Properties.
Public Attributes inherited from ImFusion::Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.

Static Public Attributes

static const std::string p_defaultInputName
static const std::string p_defaultOutputName

Additional Inherited Members

Protected Attributes inherited from ImFusion::Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.

Member Function Documentation

◆ configure()

void ImFusion::ML::EngineConfiguration::configure ( const Properties * fromProperties)
overridevirtual

Configures the EngineConfiguration from a Properties object throws a ParamException if the properties are not valid.

Reimplemented from ImFusion::Configurable.

◆ configuration()

void ImFusion::ML::EngineConfiguration::configuration ( Properties * toProperties) const
overridevirtual

Returns the EngineConfiguration parameters as a Properties object.

Reimplemented from ImFusion::Configurable.

Member Data Documentation

◆ p_name

EngineParameter<std::string> ImFusion::ML::EngineConfiguration::p_name = {"Name", "", this, ParamRequired::No}

Type of the engine, i.e.

"torch", "onnx", "openvino", "tensorrt", ... This string corresponds to the factory name of the specific Engine

◆ p_inputFields

EngineParameter<std::vector<std::string> > ImFusion::ML::EngineConfiguration::p_inputFields
Initial value:
= {"InputFields",
std::vector<std::string>{p_defaultInputName},
this,
ParamRequired::No,
"EngineInputFields"}

Input field names expected by the model run by the engine.

◆ p_outputFields

EngineParameter<std::vector<std::string> > ImFusion::ML::EngineConfiguration::p_outputFields
Initial value:
= {"OutputFields",
std::vector<std::string>{p_defaultOutputName},
this,
ParamRequired::No,
"EngineOutputFields"}

Output field names returned by the model run by the engine.

◆ p_outputFieldsToIgnore

EngineParameter<std::vector<std::string> > ImFusion::ML::EngineConfiguration::p_outputFieldsToIgnore
Initial value:
= {"OutputFieldsToIgnore",
this,
ParamRequired::No,
"EngineOutputFieldsToIgnore"}

Output field names returned by the model run by the engine.

◆ p_engineSpecificParameters

Properties ImFusion::ML::EngineConfiguration::p_engineSpecificParameters

Parameters that are specific to each engine.

These parameters are simply collected from the model yaml configuration and passed over to the selected engine, which is responsible for defining, parsing and using them Example: TorchLibVersion, specific to the torch engine.

◆ p_yamlConfigPath

EngineParameter<std::string> ImFusion::ML::EngineConfiguration::p_yamlConfigPath = {"YamlConfigPath", "", this, ParamRequired::No}

This is used to determine the path (relative/absolute/resource) of the model file The way to set it is to attach it to the Properties.

This is done by the ModelConfiguration. Note that this paramater must be there, otherwise the model file resolution doesn't work.


The documentation for this class was generated from the following file:
  • ImFusion/ML/EngineConfiguration.h
Search Tab / S to search, Esc to close