Table of contents

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 the model.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