# 获取训练作业支持的公共规格 - ShowTrainingJobFlavors
#### 功能介绍
获取训练作业支持的公共规格接口用于获取ModelArts平台上支持的训练作业资源规格列表。
该接口适用于以下场景：当用户需要了解平台支持的资源规格以进行训练作业配置时，可以通过此接口获取规格列表。使用该接口的前提条件是用户具有查看资源规格的权限。查询操作完成后，平台将返回包含支持的资源规格信息。若用户无权限操作，接口将返回相应的错误信息。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=ShowTrainingJobFlavors)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-modelarts/modelarts_03_0138.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                           | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名                     | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | modelarts:trainJob:getFlavors | Read | trainJob \* | -   | modelarts:trainJob:get | -      |
     
  
 
#### URI
GET /v2/{project_id}/training-job-flavors
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释** ：用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 **约束限制**：1 - 64字符，字母、数字和中划线。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
   
表2Query参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| flavor_type | 否    | String | **参数解释**：查询训练作业规格的类型。 **约束限制**：不涉及。 **取值范围**：枚举值： - CPU：CPU资源规格   - GPU：GPU资源规格   - Ascend：NPU资源规格    **默认取值**：不填写时默认查询所有类型的资源规格。 |
   
#### 请求参数
无
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数          | 参数类型                                                                                                                   | 描述                                                                                                              |
|:---|:---|:---|
| total_count | Integer                                                                                                                | **参数解释**：训练作业资源规格总数。 **取值范围**：不涉及。 |
| flavors     | Array of [FlavorResponse] objects | **参数解释**：训练作业资源规格列表。                                                                                            |
   
 表4FlavorResponse 
| 参数              | 参数类型                                                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| pool_id         | String                                                                                                               | **参数解释**：训练作业选择的资源池ID。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| flavor_id       | String                                                                                                               | **参数解释**：资源规格的ID。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| flavor_name     | String                                                                                                               | **参数解释**：资源规格的名称。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| support_engines | String                                                                                                               | **参数解释**：该规格支持的训练引擎列表（JSON 数组字符串格式）。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| support_groups  | String                                                                                                               | **参数解释** ：该规格支持的用户组列表。若为空则默认为 *public*。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| max_num         | Integer                                                                                                              | **参数解释**：资源规格的最大节点数。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| flavor_type     | String                                                                                                               | **参数解释**：资源规格的类型。 **取值范围**： - CPU：CPU资源规格   - GPU：GPU资源规格   - Ascend：NPU资源规格    |
| billing         | [BillingInfo] object               | **参数解释**：资源规格计费信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| flavor_info     | [FlavorInfoResponse] object | **参数解释**：资源规格详细信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| attributes      | Map\<String,String\>                                                                                                 | **参数解释**：其他规格属性，key表示属性名称、value表示属性值，均为字符串类型。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表5BillingInfo 
| 参数       | 参数类型    | 描述                                                                                                           |
|:---|:---|:---|
| code     | String  | **参数解释**：计费码。 **取值范围**：不涉及。     |
| unit_num | Integer | **参数解释**：计费的单元数量。 **取值范围**：不涉及。 |
   
 表6FlavorInfoResponse 
| 参数      | 参数类型                                                                                                     | 描述                                                                                                                                   |
|:---|:---|:---|
| max_num | Integer                                                                                                  | **参数解释**：可以选择的最大节点数量（max_num，为1代表不支持分布式）。 **取值范围**：不涉及。 |
| cpu     | [Cpu] object                   | **参数解释**：cpu规格信息。                                                                                                                    |
| gpu     | [Gpu] object                   | **参数解释**：gpu规格信息。                                                                                                                    |
| npu     | [Npu] object                   | **参数解释**：Ascend规格信息。                                                                                                                 |
| memory  | [Memory] object             | **参数解释**：内存信息。                                                                                                                       |
| disk    | [DiskResponse] object | **参数解释**：磁盘信息。                                                                                                                       |
   
 表7Cpu 
| 参数       | 参数类型    | 描述                                                                                                         |
|:---|:---|:---|
| arch     | String  | **参数解释**：cpu架构。 **取值范围**：不涉及。 |
| core_num | Integer | **参数解释**：核数。 **取值范围**：不涉及。    |
   
 表8Gpu 
| 参数           | 参数类型    | 描述                                                                                                           |
|:---|:---|:---|
| unit_num     | Integer | **参数解释**：gpu卡数。 **取值范围**：不涉及。   |
| product_name | String  | **参数解释**：产品名。 **取值范围**：不涉及。     |
| memory       | String  | **参数解释**：GPU显存容量。 **取值范围**：不涉及。 |
   
 表9Npu 
| 参数           | 参数类型   | 描述                                                                                                           |
|:---|:---|:---|
| unit_num     | String | **参数解释**：npu卡数。 **取值范围**：不涉及。   |
| product_name | String | **参数解释**：产品名。 **取值范围**：不涉及。     |
| memory       | String | **参数解释**：NPU显存容量。 **取值范围**：不涉及。 |
   
 表10Memory 
| 参数   | 参数类型    | 描述                                                                                                          |
|:---|:---|:---|
| size | Integer | **参数解释**：内存容量数值。 **取值范围**：不涉及。 |
| unit | String  | **参数解释**：内存容量单位。 **取值范围**：GB。  |
   
 表11DiskResponse 
| 参数   | 参数类型    | 描述                                                                                                          |
|:---|:---|:---|
| size | Integer | **参数解释**：磁盘大小数值。 **取值范围**：不涉及。 |
| unit | String  | **参数解释**：磁盘大小单位。 **取值范围**：GB。  |
   
#### 请求示例
如下以查询北京四训练作业所有的CPU公共资源规格为例。
```
GET https://endpoint/v2/{project_id}/training-job-flavors?flavor_type=CPU
```
#### 响应示例
**状态码：200**
```
{
  "total_count" : 2,
  "flavors" : [ {
    "flavor_id" : "modelarts.vm.cpu.2u",
    "flavor_name" : "Computing CPU(2U) instance",
    "flavor_type" : "CPU",
    "billing" : {
      "code" : "modelarts.vm.cpu.2u",
      "unit_num" : 1
    },
    "flavor_info" : {
      "max_num" : 1,
      "cpu" : {
        "arch" : "x86",
        "core_num" : 2
      },
      "memory" : {
        "size" : 8,
        "unit" : "GB"
      },
      "disk" : {
        "size" : 50,
        "unit" : "GB"
      }
    }
  }, {
    "flavor_id" : "modelarts.vm.cpu.8u",
    "flavor_name" : "Computing CPU(8U) instance",
    "flavor_type" : "CPU",
    "billing" : {
      "code" : "modelarts.vm.cpu.8u",
      "unit_num" : 1
    },
    "flavor_info" : {
      "max_num" : 16,
      "cpu" : {
        "arch" : "x86",
        "core_num" : 8
      },
      "memory" : {
        "size" : 32,
        "unit" : "GB"
      },
      "disk" : {
        "size" : 50,
        "unit" : "GB"
      }
    }
  } ]
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | ok |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
