48 #ifndef __ALGORITHM_QUALITY_METRIC_SET_BATCH_H__ 49 #define __ALGORITHM_QUALITY_METRIC_SET_BATCH_H__ 51 #include "algorithms/algorithm_quality_metric_set_types.h" 60 namespace quality_metric_set
79 InputAlgorithmsCollection inputAlgorithms;
81 Batch(
bool useDefaultMetrics =
true) : _useDefaultMetrics(useDefaultMetrics)
89 ResultCollectionPtr getResultCollection() {
return _resultCollection; }
95 InputDataCollectionPtr getInputDataCollection() {
return _inputData; }
102 services::Status compute()
104 this->_status = computeNoThrow();
105 return services::throwIfPossible(this->_status);
113 services::Status computeNoThrow()
115 DAAL_CHECK(inputAlgorithms.size(), services::ErrorEmptyInputAlgorithmsCollection)
117 for (
size_t i = 0; i < inputAlgorithms.size(); i++)
119 size_t key = inputAlgorithms.getKeyByIndex((
int)i);
120 inputAlgorithms[key]->setInput(_inputData->getInput(key).get());
121 s = inputAlgorithms[key]->computeNoThrow();
123 _resultCollection->add(key, inputAlgorithms[key]->getResult());
132 services::SharedPtr<services::ErrorCollection> getErrors()
134 return _status.getCollection();
138 virtual void initializeQualityMetrics() = 0;
140 bool _useDefaultMetrics;
141 InputDataCollectionPtr _inputData;
142 ResultCollectionPtr _resultCollection;
143 services::Status _status;
147 using interface1::Batch;
daal::algorithms::quality_metric_set::interface1::Batch::compute
services::Status compute()
Definition: algorithm_quality_metric_set_batch.h:102
daal::services::interface1::Status
Class that holds the results of API calls. In case of API routine failure it contains the list of err...
Definition: error_handling.h:491
daal
Definition: algorithm_base_common.h:57
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:76
daal::algorithms::quality_metric_set::interface1::Batch::_inputData
InputDataCollectionPtr _inputData
Definition: algorithm_quality_metric_set_batch.h:141
daal::algorithms::quality_metric_set::interface1::Batch::getInputDataCollection
InputDataCollectionPtr getInputDataCollection()
Definition: algorithm_quality_metric_set_batch.h:95
daal::algorithms::quality_metric_set::interface1::Batch::inputAlgorithms
InputAlgorithmsCollection inputAlgorithms
Definition: algorithm_quality_metric_set_batch.h:79
daal::algorithms::quality_metric_set::interface1::Batch::computeNoThrow
services::Status computeNoThrow()
Definition: algorithm_quality_metric_set_batch.h:113
daal::services::interface1::SharedPtr
Shared pointer that retains shared ownership of an object through a pointer. Several SharedPtr object...
Definition: daal_shared_ptr.h:187
daal::services::interface1::SharedPtr::get
T * get() const
Definition: daal_shared_ptr.h:332
daal::algorithms::quality_metric_set::interface1::Batch::getResultCollection
ResultCollectionPtr getResultCollection()
Definition: algorithm_quality_metric_set_batch.h:89
daal::services::interface1::Status::getCollection
ErrorCollectionPtr getCollection() const
daal::services::ErrorEmptyInputAlgorithmsCollection
Definition: error_indexes.h:415
daal::algorithms::quality_metric_set::interface1::Batch::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: algorithm_quality_metric_set_batch.h:132