24 #ifndef __ALGORITHM_QUALITY_METRIC_SET_BATCH_H__
25 #define __ALGORITHM_QUALITY_METRIC_SET_BATCH_H__
27 #include "algorithms/algorithm_quality_metric_set_types.h"
36 namespace quality_metric_set
55 InputAlgorithmsCollection inputAlgorithms;
57 Batch(
bool useDefaultMetrics =
true) : _useDefaultMetrics(useDefaultMetrics)
65 ResultCollectionPtr getResultCollection() {
return _resultCollection; }
71 InputDataCollectionPtr getInputDataCollection() {
return _inputData; }
78 services::Status compute()
80 this->_status = computeNoThrow();
81 return services::throwIfPossible(this->_status);
89 services::Status computeNoThrow()
91 DAAL_CHECK(inputAlgorithms.size(), services::ErrorEmptyInputAlgorithmsCollection)
93 for (
size_t i = 0; i < inputAlgorithms.size(); i++)
95 size_t key = inputAlgorithms.getKeyByIndex((
int)i);
96 inputAlgorithms[key]->setInput(_inputData->getInput(key).get());
97 s = inputAlgorithms[key]->computeNoThrow();
99 _resultCollection->add(key, inputAlgorithms[key]->getResult());
108 services::SharedPtr<services::ErrorCollection> getErrors()
110 return _status.getCollection();
114 virtual void initializeQualityMetrics() = 0;
116 bool _useDefaultMetrics;
117 InputDataCollectionPtr _inputData;
118 ResultCollectionPtr _resultCollection;
119 services::Status _status;
123 using interface1::Batch;
daal::algorithms::quality_metric_set::interface1::InputAlgorithmsCollection::getKeyByIndex
size_t getKeyByIndex(int idx)
daal::algorithms::quality_metric_set::interface1::Batch::_inputData
InputDataCollectionPtr _inputData
Definition: algorithm_quality_metric_set_batch.h:117
daal::algorithms::quality_metric_set::interface1::Batch::computeNoThrow
services::Status computeNoThrow()
Definition: algorithm_quality_metric_set_batch.h:89
daal::algorithms::quality_metric_set::interface1::InputAlgorithmsCollection::size
size_t size() const
daal::algorithms::quality_metric_set::interface1::Batch::inputAlgorithms
InputAlgorithmsCollection inputAlgorithms
Definition: algorithm_quality_metric_set_batch.h:55
daal::algorithms::quality_metric_set::interface1::Batch::compute
services::Status compute()
Definition: algorithm_quality_metric_set_batch.h:78
daal::algorithms::quality_metric_set::interface1::Batch
Provides methods to compute a quality metric set of an algorithm in the batch processing mode...
Definition: algorithm_quality_metric_set_batch.h:52
daal::services::ErrorEmptyInputAlgorithmsCollection
Definition: error_indexes.h:406
daal::algorithms::quality_metric_set::interface1::InputAlgorithmsCollection
Class that implements functionality of the collection of quality metrics algorithms.
Definition: algorithm_quality_metric_set_types.h:50
daal::algorithms::quality_metric_set::interface1::Batch::getInputDataCollection
InputDataCollectionPtr getInputDataCollection()
Definition: algorithm_quality_metric_set_batch.h:71
daal::algorithms::quality_metric_set::interface1::Batch::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: algorithm_quality_metric_set_batch.h:108
daal::algorithms::quality_metric_set::interface1::Batch::getResultCollection
ResultCollectionPtr getResultCollection()
Definition: algorithm_quality_metric_set_batch.h:65