24 #ifndef __EM_GMM_TYPES_H__
25 #define __EM_GMM_TYPES_H__
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/numeric_table.h"
29 #include "services/daal_defines.h"
30 #include "algorithms/covariance/covariance_batch.h"
31 #include "em_gmm_covariance_storage_id.h"
32 #include "em_gmm_init_types.h"
67 lastInputId = inputMeans
74 enum InputCovariancesId
76 inputCovariances = lastInputId + 1,
77 lastInputCovariancesId = inputCovariances
86 inputValues = lastInputCovariancesId + 1,
87 lastInputValuesId = inputValues
100 lastResultId = nIterations
107 enum ResultCovariancesId
109 covariances = lastResultId + 1,
110 lastResultCovariancesId = covariances
125 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
136 Parameter(
const size_t nComponents,
137 const services::SharedPtr<covariance::BatchImpl> &covariance,
138 const size_t maxIterations = 10,
139 const double accuracyThreshold = 1.0e-04,
140 const double regularizationFactor = 0.01,
141 const CovarianceStorageId covarianceStorage = full);
143 Parameter(
const Parameter &other);
145 virtual ~Parameter() {}
150 virtual services::Status check()
const;
153 size_t maxIterations;
154 double accuracyThreshold;
155 services::SharedPtr<covariance::BatchImpl> covariance;
156 double regularizationFactor;
157 CovarianceStorageId covarianceStorage;
165 class DAAL_EXPORT Input :
public daal::algorithms::Input
172 Input(
const Input& other) : daal::algorithms::Input(other){}
181 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
188 void set(InputCovariancesId
id,
const data_management::DataCollectionPtr &ptr);
195 void set(InputValuesId
id,
const init::ResultPtr &ptr);
202 data_management::NumericTablePtr
get(InputId id)
const;
209 data_management::DataCollectionPtr
get(InputCovariancesId id)
const;
217 data_management::NumericTablePtr
get(InputCovariancesId id,
size_t index)
const;
225 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
232 class DAAL_EXPORT Result:
public daal::algorithms::Result
235 DECLARE_SERIALIZABLE_CAST(Result);
239 virtual ~Result() {};
247 template <
typename algorithmFPType>
248 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
255 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
262 void set(ResultCovariancesId
id,
const data_management::DataCollectionPtr &ptr);
269 data_management::NumericTablePtr
get(ResultId id)
const;
276 data_management::DataCollectionPtr
get(ResultCovariancesId id)
const;
284 data_management::NumericTablePtr
get(ResultCovariancesId id,
size_t index)
const;
292 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
296 template<
typename Archive,
bool onDeserialize>
297 services::Status serialImpl(Archive *arch)
299 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
302 typedef services::SharedPtr<Result> ResultPtr;
305 using interface1::Parameter;
306 using interface1::Input;
307 using interface1::Result;
308 using interface1::ResultPtr;
daal::algorithms::em_gmm::inputCovariances
Definition: em_gmm_types.h:76
daal::algorithms::em_gmm::covariances
Definition: em_gmm_types.h:109
daal::algorithms::em_gmm::inputMeans
Definition: em_gmm_types.h:66
daal::algorithms::em_gmm::ResultCovariancesId
ResultCovariancesId
Definition: em_gmm_types.h:107
daal::algorithms::em_gmm::interface1::Input::Input
Input(const Input &other)
Definition: em_gmm_types.h:172
daal::algorithms::em_gmm::data
Definition: em_gmm_types.h:64
daal::algorithms::covariance::covariance
Definition: covariance_types.h:90
daal::algorithms::em_gmm::inputWeights
Definition: em_gmm_types.h:65
daal::algorithms::em_gmm::goalFunction
Definition: em_gmm_types.h:98
daal::algorithms::em_gmm::interface1::Parameter::covarianceStorage
CovarianceStorageId covarianceStorage
Definition: em_gmm_types.h:157
daal::algorithms::em_gmm::Method
Method
Definition: em_gmm_types.h:53
daal::algorithms::em_gmm::inputValues
Definition: em_gmm_types.h:86
daal::algorithms::em_gmm::CovarianceStorageId
CovarianceStorageId
Definition: em_gmm_covariance_storage_id.h:42
daal::algorithms::em_gmm::InputId
InputId
Definition: em_gmm_types.h:62
daal::algorithms::em_gmm::interface1::Parameter
Parameter for the EM for GMM algorithm
Definition: em_gmm_types.h:125
daal::algorithms::em_gmm::means
Definition: em_gmm_types.h:97
daal::algorithms::em_gmm::ResultId
ResultId
Definition: em_gmm_types.h:94
daal::algorithms::em_gmm::interface1::Parameter::covariance
services::SharedPtr< covariance::BatchImpl > covariance
Definition: em_gmm_types.h:155
daal::algorithms::em_gmm::defaultDense
Definition: em_gmm_types.h:55
daal::algorithms::em_gmm::weights
Definition: em_gmm_types.h:96
daal::algorithms::em_gmm::interface1::Parameter::accuracyThreshold
double accuracyThreshold
Definition: em_gmm_types.h:154
daal::algorithms::em_gmm::interface1::Parameter::nComponents
size_t nComponents
Definition: em_gmm_types.h:152
daal::algorithms::em_gmm::interface1::Parameter::maxIterations
size_t maxIterations
Definition: em_gmm_types.h:153
daal::algorithms::em_gmm::InputCovariancesId
InputCovariancesId
Definition: em_gmm_types.h:74
daal::algorithms::em_gmm::interface1::Parameter::regularizationFactor
double regularizationFactor
Definition: em_gmm_types.h:156
daal::algorithms::em_gmm::interface1::Result
Provides methods to access final results obtained with the compute() method of the EM for GMM algorit...
Definition: em_gmm_types.h:232
daal::algorithms::em_gmm::InputValuesId
InputValuesId
Definition: em_gmm_types.h:84
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:99
daal::algorithms::em_gmm::interface1::Input
Input objects for the EM for GMM algorithm
Definition: em_gmm_types.h:165