48 #ifndef __EM_GMM_TYPES_H__
49 #define __EM_GMM_TYPES_H__
51 #include "algorithms/algorithm.h"
52 #include "data_management/data/numeric_table.h"
53 #include "services/daal_defines.h"
54 #include "algorithms/covariance/covariance_batch.h"
55 #include "em_gmm_covariance_storage_id.h"
56 #include "em_gmm_init_types.h"
91 lastInputId = inputMeans
98 enum InputCovariancesId
100 inputCovariances = lastInputId + 1,
101 lastInputCovariancesId = inputCovariances
110 inputValues = lastInputCovariancesId + 1,
111 lastInputValuesId = inputValues
124 lastResultId = nIterations
131 enum ResultCovariancesId
133 covariances = lastResultId + 1,
134 lastResultCovariancesId = covariances
149 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
160 Parameter(
const size_t nComponents,
161 const services::SharedPtr<covariance::BatchImpl> &covariance,
162 const size_t maxIterations = 10,
163 const double accuracyThreshold = 1.0e-04,
164 const double regularizationFactor = 0.01,
165 const CovarianceStorageId covarianceStorage = full);
167 Parameter(
const Parameter &other);
169 virtual ~Parameter() {}
174 virtual services::Status check()
const;
177 size_t maxIterations;
178 double accuracyThreshold;
179 services::SharedPtr<covariance::BatchImpl> covariance;
180 double regularizationFactor;
181 CovarianceStorageId covarianceStorage;
189 class DAAL_EXPORT Input :
public daal::algorithms::Input
196 Input(
const Input& other) : daal::algorithms::Input(other){}
205 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
212 void set(InputCovariancesId
id,
const data_management::DataCollectionPtr &ptr);
219 void set(InputValuesId
id,
const init::ResultPtr &ptr);
226 data_management::NumericTablePtr
get(InputId id)
const;
233 data_management::DataCollectionPtr
get(InputCovariancesId id)
const;
241 data_management::NumericTablePtr
get(InputCovariancesId id,
size_t index)
const;
249 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
256 class DAAL_EXPORT Result:
public daal::algorithms::Result
259 DECLARE_SERIALIZABLE_CAST(Result);
263 virtual ~Result() {};
271 template <
typename algorithmFPType>
272 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
279 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
286 void set(ResultCovariancesId
id,
const data_management::DataCollectionPtr &ptr);
293 data_management::NumericTablePtr
get(ResultId id)
const;
300 data_management::DataCollectionPtr
get(ResultCovariancesId id)
const;
308 data_management::NumericTablePtr
get(ResultCovariancesId id,
size_t index)
const;
316 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
320 template<
typename Archive,
bool onDeserialize>
321 services::Status serialImpl(Archive *arch)
323 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
326 typedef services::SharedPtr<Result> ResultPtr;
329 using interface1::Parameter;
330 using interface1::Input;
331 using interface1::Result;
332 using interface1::ResultPtr;
daal::algorithms::em_gmm::defaultDense
Definition: em_gmm_types.h:79
daal::algorithms::em_gmm::Method
Method
Definition: em_gmm_types.h:77
daal::algorithms::em_gmm::goalFunction
Definition: em_gmm_types.h:122
daal
Definition: algorithm_base_common.h:57
daal::algorithms::em_gmm::CovarianceStorageId
CovarianceStorageId
Definition: em_gmm_covariance_storage_id.h:66
daal::algorithms::em_gmm::InputId
InputId
Definition: em_gmm_types.h:86
daal::algorithms::em_gmm::inputValues
Definition: em_gmm_types.h:110
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:123
daal::algorithms::em_gmm::inputWeights
Definition: em_gmm_types.h:89
daal::algorithms::em_gmm::data
Definition: em_gmm_types.h:88
daal::algorithms::em_gmm::covariances
Definition: em_gmm_types.h:133
daal::algorithms::em_gmm::interface1::Parameter::nComponents
size_t nComponents
Definition: em_gmm_types.h:176
daal::algorithms::em_gmm::means
Definition: em_gmm_types.h:121
daal::algorithms::em_gmm::weights
Definition: em_gmm_types.h:120
daal::algorithms::em_gmm::ResultCovariancesId
ResultCovariancesId
Definition: em_gmm_types.h:131
daal::algorithms::covariance::covariance
Definition: covariance_types.h:114
daal::algorithms::em_gmm::inputCovariances
Definition: em_gmm_types.h:100
daal::algorithms::em_gmm::interface1::Parameter::regularizationFactor
double regularizationFactor
Definition: em_gmm_types.h:180
daal::algorithms::em_gmm::interface1::Parameter::covariance
services::SharedPtr< covariance::BatchImpl > covariance
Definition: em_gmm_types.h:179
daal::algorithms::em_gmm::InputValuesId
InputValuesId
Definition: em_gmm_types.h:108
daal::algorithms::em_gmm::ResultId
ResultId
Definition: em_gmm_types.h:118
daal::algorithms::em_gmm::inputMeans
Definition: em_gmm_types.h:90
daal::algorithms::em_gmm::interface1::Parameter
Parameter for the EM for GMM algorithm
Definition: em_gmm_types.h:149
daal::algorithms::em_gmm::interface1::Parameter::covarianceStorage
CovarianceStorageId covarianceStorage
Definition: em_gmm_types.h:181
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:256
daal::algorithms::em_gmm::InputCovariancesId
InputCovariancesId
Definition: em_gmm_types.h:98
daal::algorithms::em_gmm::interface1::Parameter::accuracyThreshold
double accuracyThreshold
Definition: em_gmm_types.h:178
daal::algorithms::em_gmm::interface1::Parameter::maxIterations
size_t maxIterations
Definition: em_gmm_types.h:177