A series of API changes are introduced into Intel® DAAL to improve usability, error handling, and consistency. These changes will start to take effective in Intel DAAL 2018 Beta. The changes discussed below are centered on the C++ API, but similar changes also apply to the Java API and the Python API.
Renaming, addition, and removal of enums
API | Before | After |
---|---|---|
Error handling |
|
|
class Environment |
|
|
Alternating Least Square initialization |
|
|
Alternating Least Square renamings |
|
|
kNN algorithm |
|
|
k-means initialization in distributed computing mode |
|
|
K-means namings |
|
|
Multi-class classfier Model |
|
|
Neural Network training parameter |
|
|
NumericTable |
|
|
NumericTable |
| |
HomogenNumericTable |
|
|
AOS Numeric Table |
|
|
SOA Numeric Table |
|
|
Data Dictionary |
| |
NumericTable |
|
|
NumericTable |
|
|
Tensor |
|
|
class NumericTableIface |
|
|
HomogenTensor |
|
|
Algorithms and numeric tables |
|
|
Multinomial Naïve Bayes algorithm |
|
|
Linear regression algorithm |
|
|
Ridge regression algorithm |
|
|
Multi-class classifieralgorithm |
|
|
Neural Networks Topology for training and prediction |
|
|
Default data type for algorithms, numeric tables, and data sources |
class DAAL_EXPORT HomogenNumericTable : public NumericTable
class DataSourceTemplate : public DataSource |
DAAL_ALGORITHM_FP_TYPE is float by default
class DAAL_EXPORT HomogenNumericTable : public NumericTable DAAL_DATA_TYPE is float by default
class DataSourceTemplate : public DataSource DAAL_SUMMARY_STATISTICS_TYPE is float by default |
Methods deprecation
Classes | Methods deprecated |
---|---|
Environment | freeInstance |
Multi-class classifier Model | getTwoClassClassifierModels |
NumericTable | setDictionary, resetDictionary, setNumberOfColumns, setNumberOfRows, allocateDataMemory, freeDataMemory |
HomogenNumericTable | setArray |
HomogenTensor | getSampleTensor |
Method signatures change
Classes | Before | After |
---|---|---|
All algorithmic classes | void compute( ) | Status compute( ) |
All input argument classes | void check( ... ) | Status check( ... ) |
All result and partial result classes | void check( ... ) void allocate( .. ) | Status check( ... ) Status allocate( ... ) |
AOSNumericTable | void setFeature( size_t idx, size_t offset ) | vid setFeature( size_t idx, size_t offset, data_feature_utils::FeatureType featureType = data_feature_utils::DAAL_CONTINUOUS, size_t categoryNumber=0 ) |
SOANumericTable | SOANumericTable( size_t nColumns = 0, size_t nRows = 0 ) | SOANumericTable( size_t nColumns = 0, size_t nRows = 0, DictionaryIface::FeaturesEqual featuresEqual = DictionaryIface::notEqual ) |
NumericTable | The return value of getNumberOfCategories( size_t feature_idx ) was either (size_t) - 1 when all attributes are continuous, or 1 otherwise. | The return value of this method is now extended to support different types of attributes. |
New methods
Classes | New methods |
---|---|
NumericTable | void resize( size_t nrows ) - To modify the number of feature vectors in a table. |
DataDictionary | void setAllFeatures( ... ) - To configure the attributes of the datasets to be the same type. |
Other changes
- Alternating Least Square (ALS) algorithm initialization has been changed from one-step initialization to two-step initialization, to make data preparation easier. For example, users don't have to take matrix transpose on themselves.
- The Parameter class of the Neural Network training algorithm no longer contains 'batchSize'. The 'batchSize' is now obtained from the corresponding parameter of a optimization solver.
- The header file kdtree_knn_classification_types.h is removed.