Using Frequently-used Frameworks to Train Models

If you use frequently-used frameworks, such as TensorFlow and MXNet, to develop algorithms locally, you can select Frequently-used to create training jobs and build models.

Prerequisites

Precautions

Frequently-used AI Frameworks for Training Management

ModelArts supports the following AI engines and versions.

Table 1 AI engines supported by training jobs

Environment

Supported Chip

System Architecture

System Version

AI Engine and Version

Supported CUDA Version

TensorFlow

CPU and GPU

x86_64

Ubuntu 16.04

TF-1.13.1-python3.6

CUDA 10.0

TF-1.8.0-python3.6

CUDA 9.0

TF-2.1.0-python3.6

CUDA 10.1

Caffe

CPU and GPU

x86_64

Ubuntu 16.04

Caffe-1.0.0-python2.7

CUDA 8.0

Spark_MLlib

CPU

x86_64

Ubuntu 16.04

Spark-2.3.2-python3.6

N/A

XGBoost-Sklearn

CPU

x86_64

Ubuntu 16.04

Scikit_Learn-0.18.1-python3.6

N/A

PyTorch

CPU and GPU

x86_64

Ubuntu 16.04

PyTorch-1.3.0-python3.6

CUDA 10.0

PyTorch-1.0.0-python3.6

CUDA 9.0

MXNet

CPU/GPU

x86_64

Ubuntu16.04

MXNet-1.2.1-python3.6

CUDA 9.0

Creating a Training Job

  1. Log in to the ModelArts management console. In the left navigation pane, choose Training Management > Training Jobs. By default, the system switches to the Training Jobs page.
  2. In the upper left corner of the training job list, click Create to switch to the Create Training Job page.
  3. Set related parameters.
    1. Set the basic information, including Name, Version, and Description. The Version information is automatically generated by the system and named in an ascending order of V001, V002, and so on. You cannot manually modify it.

      Specify Name and Description according to actual requirements.

      Figure 1 Setting basic information about the training job
    2. Set job parameters, including the data source, algorithm source, and more. For details, see Table 2.
      Figure 2 Frequently-used as the algorithm source
      Table 2 Job parameters

      Parameter

      Sub-Parameter

      Description

      One-Click Configuration

      -

      If you have saved job parameter configurations in ModelArts, click One-Click Configuration and select an existing job parameter configuration as prompted to quickly complete parameter setting for the job.

      Algorithm Source

      Frequently-used

      Select an AI engine and its version and specify Code Directory and Boot File. The framework selected for the AI engine must be the same as the one you select when compiling training code. For example, if TensorFlow is used in your training code, select TensorFlow when you create a training job.

      For details about the supported AI engines and versions, see Frequently-used AI Frameworks for Training Management.

      Data Source

      Dataset

      Select an available dataset and its version from the ModelArts Data Management module.

      • Dataset: Select an existing dataset from the drop-down list. If no dataset is available in ModelArts, no result will be displayed in the drop-down list.
      • Version: Select a version according to the Dataset setting.

      Data path

      Select the training data from your OBS bucket. On the right of the Data path text box, click Select. In the dialog box that is displayed, select an OBS folder for storing data.

      Training Output Path

      -

      Select a path for storing the training result.

      NOTE:

      To minimize errors, select an empty directory for Training Output Path. Do not select the directory used for storing the dataset for Training Output Path.

      Running Parameter

      -

      Set the command line parameters in the code based on the algorithm code logic. Make sure that the parameter names are the same as those in the code.

      For example, train_steps = 10000, where train_steps is a passing parameter in code.

      Job Log Path

      -

      Select a path for storing log files generated during job running.

    3. Select resources for the training job.
      Figure 3 Selecting resources for the training job
      Table 3 Resource parameters

      Parameter

      Description

      Resource Pool

      Select resource pools for the job.

      CPU- and GPU-based public resource pools are supported. Their application scenarios and charges are different.

      Type

      If Resource Pool is set to Public resource pools, select a resource type. Available resource types are CPU and GPU.

      The GPU resource delivers better performance, and the CPU resource is more cost effective. If the selected algorithm has been defined to use the CPU or GPU, the resource type is automatically displayed on the page. Select the resource type as required.

      NOTE:

      If GPU resources are used in training code, you must select a GPU cluster when selecting a resource pool. Otherwise, the training job may fail.

      Specifications

      Select a resource flavor based on the resource type.

      Compute Nodes

      Set the number of compute nodes. If you set Compute Nodes to 1, the standalone computing mode is used. If you set Compute Nodes to a value greater than 1, the distributed computing mode is used. Select a computing mode based on the actual requirements.

      When Frequently-used of Algorithm Source is set to Caffe, only standalone training is supported, that is, Compute Nodes must be set to 1. For other options of Frequently-used, you can select the standalone or distributed mode based on service requirements.

    4. Select whether to save the parameters of the training job.
      Figure 4 Setting training job parameters
      Table 4 Parameters related to parameter configuration saving

      Parameter

      Description

      Saving Training Parameters

      If you select this option, the parameter settings of the current job will be saved to facilitate subsequent job creation.

      Select Save Training Parameters and specify Configuration Name and Description. After a training job is created, you can switch to the Job Parameters tab page to view your saved job parameter settings. For details, see Managing Job Parameters.

  4. Confirm that the information is correct and click Submit. Generally, training jobs run for a period of time, which may be several minutes or tens of minutes depending on the amount of your selected data and resources.

    After a training job is created, it is started immediately.

    You can switch to the training job list to view the basic information about training jobs. In the training job list, Status of the newly created training job is Initializing. If the status changes to Successful, the training job ends and the model generated is stored in the location specified by Training Output Path. If the status of a training job changes to Running failed, click the name of the training job and view the job logs. Troubleshoot the fault based on the logs.