22 #ifndef __EM_GMM_TYPES_H__
23 #define __EM_GMM_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "services/daal_defines.h"
28 #include "algorithms/covariance/covariance_batch.h"
29 #include "em_gmm_covariance_storage_id.h"
30 #include "em_gmm_init_types.h"
65 lastInputId = inputMeans
72 enum InputCovariancesId
74 inputCovariances = lastInputId + 1,
75 lastInputCovariancesId = inputCovariances
84 inputValues = lastInputCovariancesId + 1,
85 lastInputValuesId = inputValues
98 lastResultId = nIterations
105 enum ResultCovariancesId
107 covariances = lastResultId + 1,
108 lastResultCovariancesId = covariances
123 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
134 Parameter(
const size_t nComponents,
135 const services::SharedPtr<covariance::BatchImpl> &covariance,
136 const size_t maxIterations = 10,
137 const double accuracyThreshold = 1.0e-04,
138 const double regularizationFactor = 0.01,
139 const CovarianceStorageId covarianceStorage = full);
141 Parameter(
const Parameter &other);
143 virtual ~Parameter() {}
148 virtual services::Status check()
const;
151 size_t maxIterations;
152 double accuracyThreshold;
153 services::SharedPtr<covariance::BatchImpl> covariance;
154 double regularizationFactor;
155 CovarianceStorageId covarianceStorage;
163 class DAAL_EXPORT Input :
public daal::algorithms::Input
170 Input(
const Input& other) : daal::algorithms::Input(other){}
179 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
186 void set(InputCovariancesId
id,
const data_management::DataCollectionPtr &ptr);
193 void set(InputValuesId
id,
const init::ResultPtr &ptr);
200 data_management::NumericTablePtr
get(InputId id)
const;
207 data_management::DataCollectionPtr
get(InputCovariancesId id)
const;
215 data_management::NumericTablePtr
get(InputCovariancesId id,
size_t index)
const;
223 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
230 class DAAL_EXPORT Result:
public daal::algorithms::Result
233 DECLARE_SERIALIZABLE_CAST(Result);
237 virtual ~Result() {};
245 template <
typename algorithmFPType>
246 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
253 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
260 void set(ResultCovariancesId
id,
const data_management::DataCollectionPtr &ptr);
267 data_management::NumericTablePtr
get(ResultId id)
const;
274 data_management::DataCollectionPtr
get(ResultCovariancesId id)
const;
282 data_management::NumericTablePtr
get(ResultCovariancesId id,
size_t index)
const;
290 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
294 template<
typename Archive,
bool onDeserialize>
295 services::Status serialImpl(Archive *arch)
297 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
300 typedef services::SharedPtr<Result> ResultPtr;
303 using interface1::Parameter;
304 using interface1::Input;
305 using interface1::Result;
306 using interface1::ResultPtr;
daal::algorithms::em_gmm::defaultDense
Definition: em_gmm_types.h:53
daal::algorithms::em_gmm::Method
Method
Definition: em_gmm_types.h:51
daal::algorithms::em_gmm::goalFunction
Definition: em_gmm_types.h:96
daal
Definition: algorithm_base_common.h:31
daal::algorithms::em_gmm::CovarianceStorageId
CovarianceStorageId
Definition: em_gmm_covariance_storage_id.h:40
daal::algorithms::em_gmm::InputId
InputId
Definition: em_gmm_types.h:60
daal::algorithms::em_gmm::inputValues
Definition: em_gmm_types.h:84
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:97
daal::algorithms::em_gmm::inputWeights
Definition: em_gmm_types.h:63
daal::algorithms::em_gmm::data
Definition: em_gmm_types.h:62
daal::algorithms::em_gmm::covariances
Definition: em_gmm_types.h:107
daal::algorithms::em_gmm::interface1::Parameter::nComponents
size_t nComponents
Definition: em_gmm_types.h:150
daal::algorithms::em_gmm::means
Definition: em_gmm_types.h:95
daal::algorithms::em_gmm::weights
Definition: em_gmm_types.h:94
daal::algorithms::em_gmm::ResultCovariancesId
ResultCovariancesId
Definition: em_gmm_types.h:105
daal::algorithms::covariance::covariance
Definition: covariance_types.h:88
daal::algorithms::em_gmm::inputCovariances
Definition: em_gmm_types.h:74
daal::algorithms::em_gmm::interface1::Parameter::regularizationFactor
double regularizationFactor
Definition: em_gmm_types.h:154
daal::algorithms::em_gmm::interface1::Parameter::covariance
services::SharedPtr< covariance::BatchImpl > covariance
Definition: em_gmm_types.h:153
daal::algorithms::em_gmm::InputValuesId
InputValuesId
Definition: em_gmm_types.h:82
daal::algorithms::em_gmm::ResultId
ResultId
Definition: em_gmm_types.h:92
daal::algorithms::em_gmm::inputMeans
Definition: em_gmm_types.h:64
daal::algorithms::em_gmm::interface1::Parameter
Parameter for the EM for GMM algorithm
Definition: em_gmm_types.h:123
daal::algorithms::em_gmm::interface1::Parameter::covarianceStorage
CovarianceStorageId covarianceStorage
Definition: em_gmm_types.h:155
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:230
daal::algorithms::em_gmm::InputCovariancesId
InputCovariancesId
Definition: em_gmm_types.h:72
daal::algorithms::em_gmm::interface1::Parameter::accuracyThreshold
double accuracyThreshold
Definition: em_gmm_types.h:152
daal::algorithms::em_gmm::interface1::Parameter::maxIterations
size_t maxIterations
Definition: em_gmm_types.h:151