Consulta de los detalles sobre un modelo
Función
Esta API se utiliza para consultar detalles sobre un modelo basado en el ID del modelo.
URI
GET /v1/{project_id}/models/{model_id}
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| project_id | Sí | String | ID del proyecto. Para obtener más información sobre cómo obtener un ID de proyecto, consulte Obtención de un ID y un nombre de proyecto. |
| model_id | Sí | String | ID del modelo |
Cuerpo de la solicitud
No hay
Cuerpo de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| model_id | String | ID del modelo |
| model_name | String | Nombre del modelo |
| model_version | String | Versión modelo |
| create_at | Long | Tiempo en que se crea un modelo, en milisegundos calculados a partir de 1970.1.1 0:0:0 UTC |
| tenant | String | Tenant al que pertenece un modelo |
| project | String | Proyecto al que pertenece un modelo |
| owner | String | Usuario al que pertenece un modelo |
| source_location | String | Ruta OBS donde se encuentra el modelo o la ubicación de la imagen de SWR |
| source_job_id | String | ID del trabajo de formación de origen |
| source_job_version | String | Versión del trabajo de formación de origen |
| model_type | String | Tipo de modelo. El valor puede ser TensorFlow, MXNet, Spark_MLlib, Scikit_Learn, XGBoost, MindSpore, Image, or PyTorch. |
| model_size | Long | Tamaño del modelo, en bytes |
| model_status | String | Estado del modelo |
| runtime | String | Entorno de tiempo de ejecución del modelo |
| description | String | Descripción del modelo |
| execution_code | String | Ruta OBS para almacenar el código de ejecución. El nombre del archivo de código de ejecución se fija en customize_service.py. |
| image_address | String | Ruta de la imagen generada después del empaquetado del modelo |
| input_params | params array | Recopilación de parámetros de entrada de un modelo. Para más detalles, consulte Tabla 3. |
| output_params | params array | Recopilación de parámetros de salida de un modelo. Para más detalles, consulte Tabla 3. |
| dependencies | dependency array | Paquete requerido para ejecutar el código y el modelo de inferencia. Para más detalles, consulte Tabla 4. |
| model_metrics | String | Precisión del modelo |
| apis | String | Toda la información de los parámetros apis de entrada y salida de un modelo, que se obtiene de la vista previa del modelo |
| model_source | String | Fuente del modelo. Opciones:
|
| tunable | Boolean | Si un modelo se puede ajustar. Opciones:
|
| market_flag | Boolean | Si un modelo está suscrito desde el mercado. Opciones:
|
| publishable_flag | Boolean | Si un modelo se puede publicar en el mercado. Opciones:
|
| model_docs | GuideDoc array | Lista de documentos de plantilla. Para más detalles, consulte Tabla 7. |
| model_algorithm | String | Tipo de algoritmo de modelo. El valor puede ser predict_analysis, object_detection, o image_classification |
| model_labels | String array | Matriz de etiquetas de modelo. |
| labels_map | Object | Mapa de etiquetas de modelo. La clave se fija a labels, y el valor es la matriz de etiquetas del modelo. |
| workspace_id | String | ID del espacio de trabajo al que pertenece un servicio. El valor predeterminado es 0, que indica el espacio de trabajo predeterminado. |
| install_type | String array | Tipo de servicio admitido para la implementación. |
| config | String | Configuraciones de modelo. |
| health | Object | Configuración de comprobación de estado del modelo. Para más detalles, consulte Tabla 8. |
| schema_doc | String | Dirección de descarga del archivo de esquema del modelo. |
| source_type | String | Tipo de origen del modelo. Este parámetro es válido y su valor es auto solo si el modelo se implementa mediante ExeML. |
| specification | Object | Especificación mínima del modelo. Para más detalles, consulte Tabla 9. |
| Parámetro | Tipo | Descripción |
|---|---|---|
| url | String | URL de la API |
| method | String | Método de solicitud, por ejemplo, post |
| protocol | String | Protocolo de solicitud, por ejemplo, HTTP |
| param_name | String | Nombre del parámetro, que contiene un máximo de 64 caracteres |
| param_type | String | Tipo de parámetro. El valor puede ser int, string, float, timestamp, date, o file. |
| min | Number | Este parámetro es opcional cuando param_type se establece en int o float. De forma predeterminada, este parámetro se deja en blanco. |
| max | Number | Este parámetro es opcional cuando param_type se establece en int o float. De forma predeterminada, este parámetro se deja en blanco. |
| param_desc | String | Descripción del parámetro, que contiene un máximo de 100 caracteres. De forma predeterminada, este parámetro se deja en blanco. |
| Parámetro | Tipo | Descripción |
|---|---|---|
| installer | String | Instalador |
| packages | package array | Colección de paquetes de dependencias. Para más detalles, consulte Tabla 5. |
| Parámetro | Tipo | Descripción |
|---|---|---|
| f1 | Double | Puntuación de F1 |
| recall | Double | Revocar |
| precision | Double | Precisión |
| accuracy | Double | Precisión |
| Parámetro | Tipo | Descripción |
|---|---|---|
| doc_name | String | Nombre del documento |
| doc_url | String | Enlace HTTP(S) del documento |
| Parámetro | Tipo | Descripción |
|---|---|---|
| url | String | URL de la interfaz de comprobación de estado |
| protocol | String | Protocolo de solicitud de la interfaz de comprobación de estado. Solo se soporta el protocolo HTTP. |
| initial_delay_seconds | String | Después de iniciar una instancia, se inicia una comprobación de estado después de segundos configurados en initial_delay_seconds. |
| timeout_seconds | String | Tiempo de espera de la comprobación de estado |
Muestras
A continuación se muestra cómo consultar detalles sobre un modelo basado en el ID de modelo.
- Modelo de solicitud
GET https://endpoint/v1/{project_id}/models/{model_id}
- Modelo de respuesta
{ "model_id": "10eb0091-887f-4839-9929-cbc884f1e20e", "model_name": "mnist", "model_version": "1.0.0", "runtime": "python2.7", "tenant": "6d28e85aa78b4e1a9b4bd83501bcd4a1", "project": "d04c10db1f264cfeb1966deff1a3527c", "owner": "6d28e85aa78b4e1a9b4bd83501bcd4a1", "source_location": "https://models.obs.ap-southeast-1.myhuaweicloud.com/mnist", "model_type": "TensorFlow", "model_size": 5633481, "model_status": "published", "execution_code": "https://testmodel.obs.ap-southeast-1.myhuaweicloud.com/customize_service.py", "image_address": "100.125.5.235:20202/models/10eb0091-887f-4839-9929-cbc884f1e20e:1.0.0", "input_params": [{ "url": "/", "method": "post", "protocol": "http", "param_name": "data", "param_type": "object", "param_desc": "{\"type\":\"object\",\"properties\":{\"req_data\":{\"items\":[{\"type\":\"object\",\"properties\":{}}],\"type\":\"array\"}}}" }], "output_params": [{ "url": "/", "method": "post", "protocol": "http", "param_name": "data", "param_type": "object", "param_desc": "{\"type\":\"object\",\"properties\":{\"resp_data\":{\"type\":\"array\",\"items\":[{\"type\":\"object\",\"properties\":{}}]}}}" }], "dependencies": [{ "installer": "pip", "packages": [{ "package_name": "pkg1", "package_version": "1.0.1", "restraint": "ATLEAST" }] }], "model_metrics":"{\"f1\":0.52381,\"recall\":0.666667,\"precision\":0.466667,\"accuracy\":0.625}", "apis": "[{\"protocol\":\"http\",\"method\":\"post\",\"url\":\"/\",\"input_params\":{\"type\":\"object\",\"properties\":{\"data\":{\"type\":\"object\",\"properties\":{\"req_data\":{\"items\":[{\"type\":\"object\",\"properties\":{}}],\"type\":\"array\"}}}}},\"output_params\":{\"type\":\"object\",\"properties\":{\"data\":{\"type\":\"object\",\"properties\":{\"resp_data\":{\"type\":\"array\",\"items\":[{\"type\":\"object\",\"properties\":{}}]}}}}}}]", "model_labels":[], "labels_map":{"labels":[]}, "workspace_id": "0", "install_type": ["realtime", "batch"], "specification":{}, "config":"{\"model_algorithm\": \"image_classification\", \"model_source\": \"auto\", \"tunable\": false, \"downloadable_flag\": true, \"algorithm\": \"resnet_v2_50,mobilenet_v1\", \"metrics\": {\"f1\": 0.912078373015873, \"recall\": 0.9125, \"precision\": 0.9340277777777778, \"accuracy\": 0.263250724969475}, \"model_type\": \"TensorFlow\", \"runtime\": \"tf1.13-python3.6-cpu\", \"apis\": [{\"protocol\": \"https\", \"url\": \"/\", \"method\": \"post\", \"request\": {\"data\": {\"type\": \"object\", \"properties\": {\"images\": {\"type\": \"file\"}}}, \"Content-type\": \"multipart/form-data\"}, \"response\": {\"data\": {\"type\": \"object\", \"required\": [\"predicted_label\", \"scores\"], \"properties\": {\"predicted_label\": {\"type\": \"string\"}, \"scores\": {\"type\": \"array\", \"items\": {\"type\": \"array\", \"minItems\": 2, \"maxItems\": 2, \"items\": [{\"type\": \"string\"}, {\"type\": \"number\"}]}}}}, \"Content-type\": \"multipart/form-data\"}}], \"dependencies\": [{\"installer\": \"pip\", \"packages\": [{\"package_name\": \"numpy\", \"package_version\": \"1.17.0\", \"restraint\": \"EXACT\"}, {\"package_name\": \"h5py\", \"package_version\": \"2.8.0\", \"restraint\": \"EXACT\"}, {\"package_name\": \"Pillow\", \"package_version\": \"5.2.0\", \"restraint\": \"EXACT\"}, {\"package_name\": \"scipy\", \"package_version\": \"1.2.1\", \"restraint\": \"EXACT\"}, {\"package_name\": \"resampy\", \"package_version\": \"0.2.1\", \"restraint\": \"EXACT\"}, {\"package_name\": \"scikit-learn\", \"package_version\": \"0.19.1\", \"restraint\": \"EXACT\"}]}]}" }
Código de estado
Para obtener más información sobre el código de estado, consulte Tabla 1.