Help Center> ModelArts> FAQs> General Issues> Which AI Frameworks Does ModelArts Support?

Which AI Frameworks Does ModelArts Support?

The AI frameworks and versions supported by ModelArts vary slightly based on the development environment, training jobs, and model inference (model management and deployment). The following describes the AI frameworks supported by each module.

Development Environment

The AI frameworks and versions supported by DevEnviron notebooks vary based on Python versions.

Table 1 AI engines supported by old development environments

Work Environment

Built-in AI Engine and Version

Supported Chip

Multi-Engine 1.0 (Python3, Recommended)

MXNet-1.2.1

CPU/GPU

PySpark-2.3.2

CPU

PyTorch-1.0.0

GPU

TensorFlow-1.13.1

CPU/GPU

TensorFlow-1.8

CPU/GPU

XGBoost-Sklearn

CPU

Multi-Engine 1.0 (Python2)

Caffe-1.0.0

CPU/GPU

MXNet-1.2.1

CPU/GPU

PySpark-2.3.2

CPU

PyTorch1.0.0

GPU

TensorFlow-1.13.1

CPU/GPU

TensorFlow-1.8

CPU/GPU

XGBoost-Sklearn

CPU

Multi-Engine 2.0 (Python3)

PyTorch-1.4.0

GPU

R-3.6.1

CPU/GPU

TensorFlow-2.1.0

CPU/GPU

Ascend-Powered-Engine 1.0 (Python3)

MindSpore-1.1.1

Ascend 910

TensorFlow-1.15.0

Ascend 910

Training Jobs

ModelArts provides training jobs of both old and new versions. The difference between the two versions lies in built-in training engines. You are suggested to choose the new version to use new built-in training engines. The engines in the old training job version can also be used in the new version.

Table 2 AI engines supported by the original training version

Work Environment

Supported Chip

System Architecture

System Version

AI Engine and Version

Supported CUDA or Ascend Version

TensorFlow

CPU/GPU

x86_64

Ubuntu16.04

TF-1.8.0-python3.6

cuda9.0

TF-1.8.0-python2.7

cuda9.0

TF-1.13.1-python3.6

cuda10.0

TF-1.13.1-python2.7

cuda10.0

TF-2.1.0-python3.6

cuda10.1

MXNet

CPU/GPU

x86_64

Ubuntu16.04

MXNet-1.2.1-python3.6

cuda9.0

MXNet-1.2.1-python2.7

cuda9.0

Caffe

CPU/GPU

x86_64

Ubuntu16.04

Caffe-1.0.0-python2.7

cuda8.0

Spark_MLlib

CPU

x86_64

Ubuntu16.04

Spark-2.3.2-python2.7

-

Spark-2.3.2-python3.6

-

Ray

CPU/GPU

x86_64

Ubuntu16.04

RAY-0.7.4-python3.6

cuda10.0

XGBoost-Sklearn

CPU

x86_64

Ubuntu16.04

Scikit_Learn-0.18.1-python2.7

-

Scikit_Learn-0.18.1-python3.6

-

PyTorch

CPU/GPU

x86_64

Ubuntu16.04

PyTorch-1.0.0-python2.7

cuda9.0

PyTorch-1.0.0-python3.6

cuda9.0

PyTorch-1.3.0-python2.7

cuda10.0

PyTorch-1.3.0-python3.6

cuda10.0

PyTorch-1.4.0-python3.6

cuda10.1

Ascend-Powered-Engine

Ascend 910

aarch64

Euler2.8

Mindspore-1.1.1-python3.7-aarch64

21.0.0

TF-1.15-python3.7-aarch64

21.0.0

MindSpore-GPU

CPU/GPU

x86_64

Ubuntu18.04

MindSpore-1.1.0-python3.7

cuda10.1

The built-in training engines in the new version are named in the following format:

<Training engine name_version>-[cpu | <cuda_version | cann_version>] --<py_version><OS name_version>-< x86_64 | aarch64>
Table 3 AI engines supported by the new training version

Work Environment

Supported Chip

System Architecture

System Version

AI Engine and Version

Supported CUDA or Ascend Version

TensorFlow

CPU/GPU

x86_64

Ubuntu18.04

tensorflow_2.1.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64

cuda10.1

PyTorch

CPU/GPU

x86_64

Ubuntu18.04

pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64

cuda10.2

Ascend-Powered-Engine

Ascend 910

aarch64

Euler2.8

mindspore_1.3.0-cann_5.0.2-py_3.7-euler_2.8.3-aarch64

cann_5.0.2

tensorflow_1.15-cann_5.0.2-py_3.7-euler_2.8.3-aarch64

cann_5.0.2

MPI

CPU/GPU

x86_64

Ubuntu18.04

mindspore_1.3.0-cuda_10.1-py_3.7-ubuntu_1804-x86_64

cuda_10.1

Horovod

GPU

x86_64

ubuntu_18.04

horovod_0.20.0-tensorflow_2.1.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64

cuda_10.1

horovod_0.22.1-pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64

cuda_10.2

KungFu

CPU/GPU

x86_64

Ubuntu18.04

KF-0.2.2-TF-1.13.1-python3.6

-

  • Ascend-Powered-Engine is only available in the CN North-Beijing4 region.

Model Inference

For imported models and model inference is completed on ModelArts, supported engines and their runtime are as follows:

Table 4 Supported engines and their runtime

Engine

Runtime

Remarks

TensorFlow

python3.6

python2.7

tf1.13-python2.7-gpu

tf1.13-python2.7-cpu

tf1.13-python3.6-gpu

tf1.13-python3.6-cpu

tf1.13-python3.7-cpu

tf1.13-python3.7-gpu

tf2.1-python3.7

  • TensorFlow 1.8.0 is used in python2.7 and python3.6.
  • python3.6, python2.7, and tf2.1-python3.7 indicate that the model can run on both CPUs and GPUs. For other runtime values, if the suffix contains cpu or gpu, the model can run only on CPUs or GPUs.
  • The default runtime is python2.7.

MXNet

python3.7

python3.6

python2.7

  • MXNet 1.2.1 is used in python2.7, python3.6, and python3.7.
  • python2.7, python3.6, and python3.7 indicate that the model can run on both CPUs and GPUs.
  • The default runtime is python2.7.

Caffe

python2.7

python3.6

python3.7

python2.7-gpu

python3.6-gpu

python3.7-gpu

python2.7-cpu

python3.6-cpu

python3.7-cpu

  • Caffe 1.0.0 is used in python2.7, python3.6, python3.7, python2.7-gpu, python3.6-gpu, python3.7-gpu, python2.7-cpu, python3.7-cpu, and python3.6-cpu.
  • python 2.7, python3.7, and python 3.6 can only be used to run models applicable to CPU. For other runtime values, if the suffix contains cpu or gpu, the model can run only on CPUs or GPUs. You are advised to use the runtime of python2.7-gpu, python3.6-gpu, python3.7-gpu, python2.7-cpu, python3.7-cpu, and python3.6-cpu.
  • The default runtime is python2.7.

Spark_MLlib

python2.7

python3.6

  • Spark_MLlib 2.3.2 is used in python2.7 and python3.6.
  • The default runtime is python2.7.
  • python 2.7 and python 3.6 can only be used to run models applicable to CPU.

Scikit_Learn

python2.7

python3.6

  • Scikit_Learn 0.18.1 is used in python2.7 and python3.6.
  • The default runtime is python2.7.
  • python 2.7 and python 3.6 can only be used to run models applicable to CPU.

XGBoost

python2.7

python3.6

  • XGBoost 0.80 is used in python2.7 and python3.6.
  • The default runtime is python2.7.
  • python 2.7 and python 3.6 can only be used to run models applicable to CPU.

PyTorch

python2.7

python3.6

python3.7

pytorch1.4-python3.7

  • PyTorch 1.0 is used in python2.7, python3.7, and python3.6.
  • python2.7, python3.6, python3.7, and pytorch1.4-python3.7 indicate that the model can run on both CPUs and GPUs.
  • The default runtime is python2.7.