# 获取支持的超参搜索算法 - ShowSearchAlgorithms
#### 功能介绍
获取支持的超参搜索算法接口用于查询系统中支持的所有超参搜索算法。
该接口适用于以下场景：当用户需要了解系统支持的超参搜索算法，以便在创建或更新训练任务时选择合适的算法时，可以通过此接口获取相关信息。使用该接口的前提条件是用户具有访问权限。查询操作完成后，接口将返回系统支持的超参搜索算法列表。若用户无权限操作，接口将返回相应的错误信息。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=ShowSearchAlgorithms)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-modelarts/modelarts_03_0138.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                        | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | modelarts:aiAlgorithm:list | List | -           | -   | -  | -      |
     
  
 
#### URI
GET /v2/{project_id}/search-algorithms
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释** ：用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 **约束限制**：1 - 64字符，字母、数字和中划线。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
   
#### 请求参数
无
#### 响应参数
**状态码：200**
表2响应Body参数 
| 参数                | 参数类型                                                                                                                       | 描述                                                                                                             |
|:---|:---|:---|
| search_algo_count | Integer                                                                                                                    | **参数解释**：超参搜索算法的个数。 **取值范围**：不涉及。 |
| search_algo_list  | Array of [search_algo_list] objects | **参数解释**：所有超参搜索算法的列表。                                                                                          |
   
 表3search_algo_list 
| 参数          | 参数类型                                                                                                   | 描述                                                                                                             |
|:---|:---|:---|
| name        | String                                                                                                 | **参数解释**：超参搜索算法的名称。 **取值范围**：不涉及。 |
| params      | Array of [params] objects | **参数解释**：超参搜索算法的参数列表。                                                                                          |
| description | String                                                                                                 | **参数解释**：超参搜索算法的描述。 **取值范围**：不涉及。 |
   
 表4params 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| key   | String | **参数解释**：超参搜索算法的参数名称。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| value | String | **参数解释**：超参搜索算法的参数取值。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| type  | String | **参数解释**：超参搜索算法的参数类型。 **取值范围**：枚举值如下： - Integer：整数   - Float：浮点数   - String：字符串   - List：列表    |
   
#### 请求示例
查询0代码超参搜索支持的搜索算法的信息。
```
GET https://endpoint/v2/{project_id}/search-algorithms
```
#### 响应示例
**状态码：200**
```
{
  "search_algo_count" : 3,
  "search_algo_list" : [ {
    "name" : "bayes_opt_search",
    "params" : [ {
      "key" : "kind",
      "value" : "ucb",
      "type" : "String"
    }, {
      "key" : "kappa",
      "value" : "2.5",
      "type" : "Float"
    }, {
      "key" : "xi",
      "value" : "0.0",
      "type" : "Float"
    }, {
      "key" : "num_samples",
      "value" : "20",
      "type" : "Integer"
    }, {
      "key" : "seed",
      "value" : "1",
      "type" : "Integer"
    } ],
    "description" : "Hyperparameter search using Gaussian process."
  }, {
    "name" : "tpe_search",
    "params" : [ {
      "key" : "gamma",
      "value" : "0.25",
      "type" : "Float"
    }, {
      "key" : "n_initial_points",
      "value" : "20",
      "type" : "Integer"
    }, {
      "key" : "num_samples",
      "value" : "20",
      "type" : "Integer"
    }, {
      "key" : "seed",
      "value" : "1",
      "type" : "Integer"
    } ],
    "description" : "Hyperparameter search using the tree-structured Parzen estimator algorithm."
  }, {
    "name" : "anneal_search",
    "params" : [ {
      "key" : "avg_best_idx",
      "value" : "2.0",
      "type" : "Float"
    }, {
      "key" : "shrink_coef",
      "value" : "0.1",
      "type" : "Float"
    }, {
      "key" : "num_samples",
      "value" : "20",
      "type" : "Integer"
    }, {
      "key" : "seed",
      "value" : "1",
      "type" : "Integer"
    } ],
    "description" : "Hyperparameter search using simulated annealing algorithm."
  } ]
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | ok |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
