
# 查询训练作业版本列表
#### 功能介绍
根据作业ID查看指定的训练作业版本。
#### URI
GET /v1/{project_id}/training-jobs/{job_id}/versions
参数说明如[表1]所示。
 表1路径参数 
| 参数         | 是否必选 | 参数类型   | 说明                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | 用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 |
| job_id     | 是    | Long   | 训练作业的ID。                                                                                         |
   
表2Query参数 
| 参数       | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| per_page | 否    | Integer | 指定每一页展示作业参数的总量，默认为10，"per_page"可选的范围为\[1，1000\]。                                                                                                                                                                                                                                                                                                              |
| page     | 否    | Integer | 指定要查询页的索引。 - 如果需要分页，请设置"page"参数值为"1"。  - 默认"page"参数值为"0"，不支持分页。   |
   
#### 请求消息
无。
#### 响应消息
响应参数如[表3]所示。
 表3响应参数 
| 参数            | 参数类型       | 说明                                                                                                                                                     |
|:---|:---|:---|
| is_success    | Boolean    | 请求是否成功。                                                                                                                                                |
| error_message | String     | 调用失败时的错误信息。 调用成功时无此字段。                                                                                  |
| error_code    | String     | 调用失败时的错误码，具体请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。 调用成功时无此字段。 |
| job_id        | Long       | 训练作业的ID。                                                                                                                                               |
| job_name      | String     | 训练作业的名称。                                                                                                                                               |
| job_desc      | String     | 训练作业的描述信息。                                                                                                                                             |
| version_count | Long       | 训练作业的版本数。                                                                                                                                              |
| versions      | JSON Array | 训练作业的运行版本参数。该样例请参考响应样例。属性详情参见[表4]。                                                                   |
   
 表4versions属性列表 
| 参数                   | 参数类型       | 说明                                                                                                 |
|:---|:---|:---|
| version_id           | Long       | 训练作业的版本ID。                                                                                         |
| version_name         | String     | 训练作业的版本名称。                                                                                         |
| pre_version_id       | Long       | 训练作业前一版本的ID。                                                                                       |
| engine_type          | Long       | 训练作业的引擎类型。                                                                                         |
| engine_name          | String     | 训练作业的引擎名称。                                                                                         |
| engine_id            | Long       | 训练作业的引擎ID。                                                                                         |
| engine_version       | String     | 训练作业的引擎版本。                                                                                         |
| status               | Int        | 训练作业的状态。                                                                                           |
| app_url              | String     | 训练作业的代码目录。                                                                                         |
| boot_file_url        | String     | 训练作业的代码启动文件。                                                                                       |
| create_time          | Long       | 训练作业的创建时间。                                                                                         |
| parameter            | JSON Array | 训练作业的运行参数。当为自定义镜像训练作业的时候，此参数为容器环境变量。具体请参见[表5]。 |
| duration             | Long       | 训练作业的运行时间，单位为毫秒。                                                                                   |
| spec_id              | Long       | 训练作业资源规格ID。                                                                                        |
| core                 | String     | 资源规格的核数。                                                                                           |
| cpu                  | String     | 资源规格CPU内存。                                                                                         |
| gpu                  | Boolean    | 是否使用gpu。                                                                                           |
| gpu_num              | Integer    | 资源规格gpu的个数。                                                                                        |
| gpu_type             | String     | 资源规格gpu的类型。                                                                                        |
| worker_server_num    | Integer    | 训练作业worker的个数。                                                                                     |
| data_url             | String     | 训练作业的数据集。                                                                                          |
| train_url            | String     | 训练作业输出文件OBS路径。                                                                                     |
| log_url              | String     | 训练作业的日志OBS输出路径URL，默认为空。如："/usr/log/"。                                                              |
| dataset_version_id   | String     | 训练作业的数据集版本ID。                                                                                      |
| dataset_id           | String     | 训练作业的数据集ID。                                                                                        |
| data_source          | JSON Array | 训练作业使用的多数据集。具体请参见[表6]。                           |
| model_id             | Long       | 训练作业的模型ID。                                                                                         |
| model_metric_list    | String     | 训练作业的模型评测参数。具体请参见[表7]。                           |
| system_metric_list   | String     | 训练作业的系统监控指标。具体请参见[表8]。                           |
| user_image_url       | String     | 自定义镜像训练作业的自定义镜像的SWR-URL。                                                                           |
| user_command         | String     | 自定义镜像训练作业的自定义镜像的容器的启动命令。                                                                           |
| resource_id          | String     | 训练作业的计费资源ID。                                                                                       |
| dataset_name         | String     | 训练作业的数据集名称。                                                                                        |
| start_time           | Long       | 训练作业开始时间。                                                                                          |
| volumes              | JSON Array | 训练作业可使用的存储卷。具体请参见[表13]。                         |
| dataset_version_name | String     | 训练作业的数据集名称。                                                                                        |
| pool_name            | String     | 资源池名称。                                                                                             |
| pool_id              | String     | 资源池ID。                                                                                             |
| nas_mount_path       | String     | SFS Turbo (NAS) 训练本地挂载路径。如："/home/work/nas"。                                                       |
| nas_share_addr       | String     | SFS Turbo (NAS) 共享路径。如："192.168.8.150:/"。                                                          |
| nas_type             | String     | 当前仅支持 nfs。如："nfs"。                                                                                 |
   
 表5parameter属性列表 
| 参数    | 参数类型   | 说明    |
|:---|:---|:---|
| label | String | 参数名称。 |
| value | String | 参数值。  |
   
 表6data_source属性列表 
| 参数              | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| dataset_id      | String | 训练作业的数据集ID。                                                                                                                                                                                                                                                                                                                                            |
| dataset_version | String | 训练作业的数据集版本ID。                                                                                                                                                                                                                                                                                                                                          |
| type            | String | 数据集类型。 - "obs"：表示使用OBS的数据。  - "dataset"：表示使用数据集的数据。   |
| data_url        | String | OBS的桶路径。                                                                                                                                                                                                                                                                                                                                               |
   
 表7model_metric_list属性列表 
| 参数           | 参数类型       | 说明                                                                         |
|:---|:---|:---|
| metric       | JSON Array | 训练作业的模型单个分类测评参数。                                                           |
| total_metric | JSON       | 训练作业的模型总测评参数。具体请参见[表11]。 |
   
 表8system_metric_list属性列表 
| 参数       | 参数类型  | 说明            |
|:---|:---|:---|
| cpuUsage | Array | 训练作业CPU资源占用率。 |
| memUsage | Array | 训练作业内存资源占用率。  |
| gpuUtil  | Array | 训练作业GPU资源占用率。 |
   
表9metric属性列表 
| 参数            | 参数类型 | 说明                                                                             |
|:---|:---|:---|
| metric_values | JSON | 训练作业模型单个分类测评参数指标。具体请参见[表10]。 |
| reserved_data | JSON | 预留字段。                                                                          |
| metric_meta   | JSON | 训练作业模型单个分类，包含类ID和类名。                                                           |
   
 表10metric_values属性列表 
| 参数        | 参数类型  | 说明             |
|:---|:---|:---|
| recall    | Float | 训练作业模型单个分类召回率。 |
| precision | Float | 训练作业模型单个分类精确率。 |
| accuracy  | Float | 训练作业模型单个分类准确率。 |
   
 表11total_metric属性列表 
| 参数                  | 参数类型       | 说明                                                                            |
|:---|:---|:---|
| total_metric_meta   | JSON Array | 预留字段。                                                                         |
| total_reserved_data | JSON Array | 预留字段。                                                                         |
| total_metric_values | JSON Array | 训练作业模型总测评参数指标。具体请参见[表12]。 |
   
 表12total_metric_values属性列表 
| 参数        | 参数类型  | 说明                               |
|:---|:---|:---|
| f1_score  | Float | 训练作业模型总召回。仅限部分预置算法使用，会自动生成，仅供参考。 |
| recall    | Float | 训练作业模型总召回率。                      |
| precision | Float | 训练作业模型总精确率。                      |
| accuracy  | Float | 训练作业模型总准确率。                      |
   
 表13volumes属性列表 
| 参数        | 参数类型   | 说明                                                                                                      |
|:---|:---|:---|
| nfs       | object | 共享文件系统类型的存储卷。仅支持运行于已联通共享文件系统网络的资源池的训练作业。具体请参见[表14]。 |
| host_path | object | 主机文件系统类型的存储卷。仅支持运行于专属资源池中的训练作业。具体请参见[表15]。           |
   
 表14nfs属性列表 
| 参数        | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| id        | String  | SFS Turbo 文件系统 ID。                                                                                                                                                                                                                                                                                                                                          |
| src_path  | String  | SFS Turbo 文件系统地址。                                                                                                                                                                                                                                                                                                                                           |
| dest_path | String  | 训练作业的本地路径。                                                                                                                                                                                                                                                                                                                                                  |
| read_only | Boolean | dest_path 是否为只读权限，默认为读写权限。 - true：只读权限  - false：默认值，读写权限   |
   
 表15host_path属性列表 
| 参数        | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| src_path  | String  | 宿主机的本地路径。                                                                                                                                                                                                                                                                                                                                               |
| dest_path | String  | 训练作业的本地路径。                                                                                                                                                                                                                                                                                                                                              |
| read_only | Boolean | dest_path 是否为只读权限，默认为读写权限。 - true：只读权限  - false：默认值，读写权限   |
   
#### 请求示例
如下以查询"job_id"为10，每页5条，第一页的作业版本详情为例。
```
GET    https://endpoint/v1/{project_id}/training-jobs/10/versions？per_page=5&page=1
```
#### 响应示例
- 成功响应示例
  ```
  {
      "is_success": true,
      "job_id": 10,
      "job_name": "testModelArtsJob",
      "job_desc": "testModelArtsJob desc",
      "version_count": 2,
      "versions": [
          {
              "version_id": 10,
              "version_name": "V0004",
              "pre_version_id": 5,
              "engine_type": 1,
              "engine_name": "TensorFlow",
              "engine_id": 1,
              "engine_version": "TF-1.4.0-python2.7",
              "status": 10,
              "app_url": "/usr/app/",
              "boot_file_url": "/usr/app/boot.py",
              "create_time": 1524189990635,
              "parameter": [
                  {
                      "label": "learning_rate",
                      "value": 0.01
                  }
              ],
              "duration": 532003,
              "spec_id": 1,
              "core": 2,
              "cpu": 8,
              "gpu": true,
              "gpu_num": 2,
              "gpu_type": "Pnt1",
              "worker_server_num": 1,
              "data_url": "/usr/data/",
              "train_url": "/usr/train/",
              "log_url": "/usr/log/",
              "dataset_version_id": "2ff0d6ba-c480-45ae-be41-09a8369bfc90",
              "dataset_id": "38277e62-9e59-48f4-8d89-c8cf41622c24",
              "data_source": [
                  {
                      "type": "obs",
                      "data_url": "/qianjiajun-test/minst/data/"
                  }
              ],
              "user_image_url": "100.125.5.235:20202/jobmng/custom-cpu-base:1.0",
              "user_command": "bash -x /home/work/run_train.sh python /home/work/user-job-dir/app/mnist/mnist_softmax.py --data_url /home/work/user-job-dir/app/mnist_data",
              "model_id": 1,
              "model_metric_list": "{\"metric\":[{\"metric_values\":{\"recall\":0.005833,\"precision\":0.000178,\"accuracy\":0.000937},\"reserved_data\":{},\"metric_meta\":{\"class_name\":0,\"class_id\":0}}],\"total_metric\":{\"total_metric_meta\":{},\"total_reserved_data\":{},\"total_metric_values\":{\"recall\":0.005833,\"id\":0,\"precision\":0.000178,\"accuracy\":0.000937}}}",
              "system_metric_list": "{\"cpuUsage\":[\"0\",\"3.10\",\"5.76\",\"0\",\"0\",\"0\",\"0\"],\"memUsage\":[\"0\",\"0.77\",\"2.09\",\"0\",\"0\",\"0\",\"0\"],\"gpuUtil\":[\"0\",\"0.25\",\"0.88\",\"0\",\"0\",\"0\",\"0\"],\"gpuMemUsage\":[\"0\",\"0.65\",\"6.01\",\"0\",\"0\",\"0\",\"0\"],\"diskReadRate\":[\"0\",\"91811.07\",\"38846.63\",\"0\",\"0\",\"0\",\"0\"],\"diskWriteRate\":[\"0\",\"2.23\",\"0.94\",\"0\",\"0\",\"0\",\"0\"],\"recvBytesRate\":[\"0\",\"5770405.50\",\"2980077.75\",\"0\",\"0\",\"0\",\"0\"],\"sendBytesRate\":[\"0\",\"12607.17\",\"10487410.00\",\"0\",\"0\",\"0\",\"0\"],\"interval\":1}",
              "dataset_name": "dataset-test",
              "dataset_version_name": "dataset-version-test",
              "start_time": 1563172362000,
              "volumes": [
                  {
                      "nfs": {
                          "id": "43b37236-9afa-4855-8174-32254b9562e7",
                          "src_path": "192.168.8.150:/",
                          "dest_path": "/home/work/nas",
                          "read_only": false
                      }
                  },
                  {
                      "host_path": {
                          "src_path": "/root/work",
                          "dest_path": "/home/mind",
                          "read_only": false
                      }
                  }
              ],
              "pool_id": "pool9928813f",
              "pool_name": "pnt1",
              "nas_mount_path": "/home/work/nas",
              "nas_share_addr": "192.168.8.150:/",
              "nas_type": "nfs"
          }
      ]
  }
  ```
  
- 失败响应示例
  ```
  {
      "is_success": false,
      "error_message": "Error string",
      "error_code": "ModelArts.0105"
  }
  ```
  
 
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0094.html)。
