Supported frameworks (Watson Machine Learning)
You can use popular tools, libraries, and frameworks to train and deploy machine learning models and functions using IBM Watson Machine Learning. This topic lists supported versions and features.
See Machine Learning samples and examples for links to sample notebooks that demonstrate creating batch deployments using the Watson Machine Learning REST API and Watson Machine Learning Python client library.
Supported machine learning frameworks
Framework | Versions | Online | Batch | CoreML |
---|---|---|---|---|
Spark | 2.4 | Yes | Yes Inline payload only |
No |
PMML | 3.0 to 4.3 | Yes | Programmatic only Inline payload only |
No |
Hybrid/AutoAI | 0.1 See framework notes for more information |
Yes | Yes | No |
SPSS | 17.1 18.1 18.2 |
Yes | Yes | No |
Scikit-learn | 0.23 0.22 (deprecated) 0.20 (deprecated) |
Yes | Yes | Yes See framework notes for more information |
XGBoost | 0.90 with Python 3.7 0.90 with Python 3.6 (deprecated) 0.82 (deprecated) |
Yes | Yes | Yes See framework notes for more information |
XGBoost | 1.3 with Python 3.7 Requires April refresh of Cloud Pak for Data 3.5 See framework notes for more information |
Yes | Yes | Yes See framework notes for more information |
TensorFlow | 2.1 1.15 (deprecated) Training requires Watson Machine Learning Accelerator |
Yes | Yes | No |
TensorFlow | 2.4 Requires April refresh of Cloud Pak for Data 3.5 See framework notes for more information |
Yes | Yes | No |
Keras | 2.2.5 (deprecated) Training requires Watson Machine Learning Accelerator |
Yes | Yes | Yes |
PyTorch | 1.2 (deprecated) 1.1 (deprecated) 1.3.1 Training requires Watson Machine Learning Accelerator See framework notes for more information |
Yes | Yes | No |
PyTorch | 1.7 Requires April refresh of Cloud Pak for Data 3.5 See framework notes for more information |
Yes | Yes | No |
Decision Optimization | 12.10 | No | Yes | No |
Python function | 0.1 | yes | Programmatic only Inline payload only |
no |
Python scripts | 1.0 | No | Yes | No |
RScript | 1.0 | No | Yes | No |
Framework notes
- If your system adminstrator installed the April refresh of Cloud Pak for Data 3.5 including the Watson Machine Learning service, you now also have access to these frameworks:
- PyTorch 1.7 with Python 3.7
- Tensorflow 2.4 with Python 3.7
- XGBoost 1.3 with Python 3.7
- When you save an XGBoost 1.3 model to the Watson Machine Learning repository, you can now save the model file in .json format, for example,
model.json
. Save the model to the repository as a .zip or .tar.zg file, containing just themodel.json
file, with no other configuration files. - Support for Python version 3.6 is deprecated in favor of Python version 3.7.
- If a framework is marked as deprecated then support for the framework will be removed in a future release. For details on migrating a model or function, see Upgrading from a deprecated framework.
- Discontinued frameworks include:
- Caffe 1.0
- Pytorch 1.0
- Spark 2.3
- The way you can work with deprecated frameworks depends on whether you upgraded Cloud Pak for Data from a previous version or did a new installation of Cloud Pak for Data 3.5. The difference is:
- For new installations of Cloud Pak for Data 3.5, only non-deprecated frameworks are supported.
- If you upgraded from a previous release of Cloud Pak for Data, you can use deprecated frameworks.
- AutoAI models trained in previous versions of Cloud Pak for Data are deprecated as they are based on Python 3.6. You must retrain the experiments.
- If you are creating a CoreML deployment for a logistic regression model using Scikit-learn 0.23 with Python 3.7, you must explicitly specify a value to override the default Scikit-learn package with Scikit-learn 0.23 during model training. See this article for details of specifying a package version when you are training a Scikit-learn pipeline.
- If you are using Pytorch 1.3 with Python 3.7 to train a model, you must explicitly set
keep_initializers_as_inputs=True
when exporting your model. - Scikit-learn 0.22 , Xgboost 0.82, Xgboost 0.90 CoreML deployments with Python 3.6 will not work on ROKS vpcgen2 with Portworx storage cluster.
- In order for a Scikit-learn or Xgboost model to be converted to CoreML format, it must contain only supported transformer algorithms. Refer to this documentation for lists of supported CoreML transformers for Scikit-learn and Xgboost frameworks:
- https://apple.github.io/coremltools/generated/coremltools.converters.sklearn.convert.html
- https://apple.github.io/coremltools/generated/coremltools.converters.xgboost.convert.html