
# 查询预置算法
#### 功能介绍
查看预置模型的详情。
#### URI
GET /v1/{project_id}/built-in-algorithms
参数说明如[表1]所示。
 表1参数说明 
| 参数         | 是否必选 | 参数类型   | 说明                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | 用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 |
   
#### 请求消息
请求参数如[表2]所示。
 表2查询检索参数 
| 参数             | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| per_page       | 否    | Integer | 指定每一页展示作业参数的总量，默认为10，"per_page"可选的范围为\[1，100\]。                                                                                                                                                                                                                                                                                               |
| page           | 否    | Integer | 指定要查询页的索引，默认为1。                                                                                                                                                                                                                                                                                                                               |
| sortBy         | 否    | String  | 指定查询的排序方式，默认是根据引擎查找"engine"，目前支持的排序还有模型名称"model_name"，"model_precision"模型用途"model_usage"，模型精度描述"model_precision"，模型大小"model_size"，模型创建时间"create_time"，运行参数"parameter"。                                                                                                                                                                        |
| order          | 否    | String  | 可选值有以下两种。 - "asc"为递增排序。  - "desc"为递减排序，默认为"desc"。   |
| search_content | 否    | String  | 指定要查询的文字信息，例如参数名称。默认为空。                                                                                                                                                                                                                                                                                                                       |
   
#### 响应消息
响应参数如[表3]所示。
 表3响应参数 
| 参数                | 参数类型            | 说明                                                                                                    |
|:---|:---|:---|
| is_success        | Boolean         | 请求是否成功。                                                                                               |
| error_message     | String          | 调用失败时的错误信息。 调用成功时无此字段。                                 |
| error_code        | String          | 调用失败时的错误码，具体请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。调用成功时无此字段。 |
| model_total_count | Integer         | 模型的数量。                                                                                                |
| models            | Array\<Object\> | 模型的参数列表，结构说明如[表4]所示。                              |
   
 表4models结构数据 
| 参数                    | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| model_id              | Integer | 模型ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| model_name            | String  | 模型名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| model_usage           | Integer | 模型用途。 - 1代表图像分类  - 2代表检测物体的类别和位置  - 3代表图像语义分割  - 4代表自然语言处理  - 5图嵌入   |
| model_precision       | String  | 模型精度描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| model_size            | Long    | 模型大小，单位为字节(Byte)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| model_train_dataset   | String  | 模型训练数据集。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| model_dataset_format  | String  | 使用模型需要的数据集格式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| model_description_url | String  | 模型描述链接。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| parameter             | String  | 模型的运行参数。当为自定义镜像训练作业的时候，此参数为容器环境变量。该样例请参考请求示例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| create_time           | Long    | 模型的创建时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| engine_id             | Long    | 模型的引擎ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| engine_name           | String  | 模型的引擎名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| engine_version        | String  | 模型的引擎版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
表5parameter属性列表 
| 参数       | 参数类型    | 说明      |
|:---|:---|:---|
| label    | String  | 参数名称。   |
| value    | String  | 参数值。    |
| required | Boolean | 参数是否必要。 |
   
#### 请求示例
如下以查询算法名称包含"configname"字段的为例。
```
GET https://endpoint//v1/{project_id}/built-in-algorithms?per_page=10&page=1&sortBy=engine&order=asc&search_content=model
```
#### 响应示例
- 成功响应示例
  ```
  {
      "models": [
          {
              "model_id": 4,
              "model_name": "ResNet_v2_50",
              "model_usage": 1,
              "model_precision": "75.55%(top1), 92.6%(top5)",
              "model_size": 102503801,
              "model_train_dataset": "imagenet，1000类图像分类",
              "model_dataset_format": "shape: [H>=32, W>=32, C>=1]; type: int8",
              "model_description_url": "https://github.com/apache/incubator-mxnet/blob/master/example/image-classification/symbols/resnet.py",
              "parameter": "[{\"label\":\"batch_size\",\"value\":\"4\",\"placeholder_cn\":\"每次更新训练的图片数量（总）\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"lr\",\"value\":\"0.0001\",\"placeholder_cn\":\"更新参数的学习率\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"save_frequency\",\"value\":\"1\",\"placeholder_cn\":\"保存模型的频率，即隔N个epoch保存一次模型\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"num_classes\",\"value\":\"\",\"placeholder_cn\":\"训练中使用的图片总的类别数\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"num_epoch\",\"value\":\"10\",\"placeholder_cn\":\"训练的epoch数\",\"placeholder_en\":\"\",\"required\":true}]",
              "create_time": 1522218780025,
              "engine_id": 501,
              "engine_name": "MXNet",
              "engine_version": "MXNet-1.2.1-python2.7"
          },
          {
              "model_id": 5,
              "model_name": "Faster_RCNN_ResNet_v2_101",
              "model_usage": 2,
              "model_precision": "80.05%(mAP)",
              "model_size": 190936449,
              "model_train_dataset": "Pascal VOC2007，20类物体检测",
              "model_dataset_format": "shape: [H, W, C==3]; type: int8",
              "model_description_url": "https://github.com/apache/incubator-mxnet/tree/master/example/rcnn",
              "parameter": "[{\"label\":\"lr\",\"value\":\"0.0001\",\"placeholder_cn\":\"更新参数的学习率\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"eval_frequence\",\"value\":\"1\",\"placeholder_cn\":\"对模型做验证的频率，默认为每个epoch都做\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"mom\",\"value\":\"0.9\",\"placeholder_cn\":\"训练网络的动量参数\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"wd\",\"value\":\"0.0005\",\"placeholder_cn\":\"权重衰减系数\",\"placeholder_en\":\"\",\"required\":true},{\"label\":\"num_classes\",\"value\":\"\",\"placeholder_cn\":\"训练中使用的图片总的类别数，这里需要+1，因为有一个额外的背景类\",\"placeholder_en\":\"\",\"required\":true}]",
              "create_time": 1525313224596,
              "engine_id": 501,
              "engine_name": "MXNet",
              "engine_version": "MXNet-1.2.1-python2.7"
          }
      ],
      "model_total_count": 41,
      "is_success": true
  }
  ```
  
- 失败响应示例
  ```
  {
      "is_success": false,
      "error_message": "Error string",
      "error_code": "ModelArts.0105"
  }
  ```
  
 
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0094.html)。
