Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-06-25 GMT+08:00

Introducción a las especificaciones del paquete modelo

Al crear una aplicación de IA en la página de gestión de aplicaciones de IA, asegúrese de que cualquier metamodelo importado de OBS cumpla con ciertas especificaciones.

Las especificaciones del paquete modelo se utilizan cuando se importa un modelo. Si importa varios modelos, por ejemplo, hay varios archivos de modelo, utilice imágenes personalizadas.

El paquete de modelo debe contener el directorio model. El directorio model almacena el archivo de modelo, el archivo de configuración de modelo y el archivo de código de inferencia de modelo.

  • Model files: Los requisitos para los archivos de modelo varían según la estructura del paquete del modelo. Para más detalles, consulte Ejemplo de paquete de modelo.
  • The model configuration file: debe existir y su nombre es config.json. Solo existe un archivo de configuración de modelo. Para obtener más información sobre cómo compilar el archivo de configuración del modelo, consulte Especificaciones para compilar el archivo de configuración del modelo.
  • Model inference code file: Es opcional. Si este archivo es necesario, el nombre del archivo se fija en customize_service.py. Debe haber uno y solo uno de esos archivos. Para obtener más información sobre cómo compilar código de inferencia de modelo, consulte Especificaciones para la codificación de inferencia de modelo.
    • El archivo .py del que customize_service.py depende puede almacenarse directamente en el directorio model. Utilice un modo de importación relativa para importar el paquete personalizado.
    • Los otros archivos de los que depende customize_service.py se pueden almacenar en el directorio model. Debe utilizar rutas de acceso absolutas para tener acceso a estos archivos. Para obtener más información, consulte Obtención de una ruta absoluta.

ModelArts proporciona ejemplos y código de ejemplo para varios motores. Puede compilar los archivos de configuración y el código de inferencia haciendo referencia a Muestras de ModelArts. ModelArts también proporciona ejemplos de scripts personalizados de motores de IA comunes. Para obtener más información, consulte Ejemplos de scripts personalizados.

Ejemplo de paquete de modelo

  • Structure of the TensorFlow-based model package

    Al publicar el modelo, solo necesita especificar el directorio ocr.

    OBS bucket/directory name
    |── ocr
    |   ├── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   │   ├── <<Custom Python package>> (Optional) User's Python package, which can be directly referenced in model inference code
    |   │   ├── saved_model.pb (Mandatory) Protocol buffer file, which contains the diagram description of the model
    |   │   ├── variables Name of a fixed sub-directory, which contains the weight and deviation rate of the model. It is mandatory for the main file of the *.pb model.
    |   │   │   ├── variables.index Mandatory
    |   │   │   ├── variables.data-00000-of-00001 Mandatory
    |   │   ├──config.json (Mandatory) Model configuration file. The file name is fixed to config.json. Only one model configuration file is supported.
    |   │   ├──customize_service.py (Optional) Model inference code. The file name is fixed to customize_service.py. Only one model inference code file exists. The files on which customize_service.py depends can be directly stored in the model directory.
  • Estructura del paquete de modelo basado en MXNet

    Al publicar el modelo, solo necesita especificar el directorio resnet.

    OBS bucket/directory name
    |── resnet
    |   ├── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   │   ├── <<Custom Python package>> (Optional) User's Python package, which can be directly referenced in model inference code
    |   │   ├── resnet-50-symbol.json (Mandatory) Model definition file, which contains the neural network description of the model
    |   │   ├── resnet-50-0000.params (Mandatory) Model variable parameter file, which contains parameter and weight information
    |   │   ├──config.json (Mandatory) Model configuration file. The file name is fixed to config.json. Only one model configuration file is supported.
    |   │   ├──customize_service.py (Optional) Model inference code. The file name is fixed to customize_service.py. Only one model inference code file exists. The files on which customize_service.py depends can be directly stored in the model directory.
  • Estructura del paquete de modelo basado en imágenes

    Al publicar el modelo, solo necesita especificar el directorio resnet.

    OBS bucket/directory name
    |── resnet
    |   ├── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   │  ├──config.json (Mandatory) Model configuration file (the address of the SWR image must be configured). The file name is fixed to config.json. Only one model configuration file is supported.
  • Estructura del paquete de modelo basado en PySpark

    Al publicar el modelo, solo necesita especificar el directorio resnet.

    OBS bucket/directory name
    |── resnet
    |   ├── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   │  ├── <<Custom Python package>> (Optional) User's Python package, which can be directly referenced in model inference code
    |   │  ├── spark_model (Mandatory) Model directory, which contains the model content saved by PySpark
    |   │  ├──config.json (Mandatory) Model configuration file. The file name is fixed to config.json. Only one model configuration file is supported.
    |   │  ├──customize_service.py (Optional) Model inference code. The file name is fixed to customize_service.py. Only one model inference code file exists. The files on which customize_service.py depends can be directly stored in the model directory.
  • Estructura del paquete de modelo basado en PyTorch

    Al publicar el modelo, solo necesita especificar el directorio resnet.

    OBS bucket/directory name
    |── resnet
    |   ├── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   │  ├── <<Custom Python package>> (Optional) User's Python package, which can be directly referenced in model inference code
    |   │  ├── resnet50.pth (Mandatory) PyTorch model file, which contains variable and weight information and is saved as state_dict
    |   │  ├──config.json (Mandatory) Model configuration file. The file name is fixed to config.json. Only one model configuration file is supported.
    |   │  ├──customize_service.py (Mandatory) Model inference code. The file name is fixed to customize_service.py. Only one model inference code file exists. The files on which customize_service.py depends can be directly stored in the model directory.
  • Estructura del paquete modelo basado en Caffe
    Al publicar el modelo, solo necesita especificar el directorio resnet.
    OBS bucket/directory name
    |── resnet
    |   |── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   |   |── <<Custom Python package>> (Optional) User's Python package, which can be directly referenced in model inference code
    |   |   |── deploy.prototxt (Mandatory) Caffe model file, which contains information such as the model network structure
    |   |   |── resnet.caffemodel (Mandatory) Caffe model file, which contains variable and weight information
    |   |   |── config.json (Mandatory) Model configuration file. The file name is fixed to config.json. Only one model configuration file is supported.
    |   |   |── customize_service.py  (Optional) Model inference code. The file name is fixed to customize_service.py. Only one model inference code file exists. The files on which customize_service.py depends can be directly stored in the model directory. 
  • Estructura del paquete de modelo basado en XGBoost
    Al publicar el modelo, solo necesita especificar el directorio resnet.
    OBS bucket/directory name
    |── resnet
    |   |── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   |   |── <<Custom Python package>> (Optional) User's Python package, which can be directly referenced in model inference code
    |   |   |── *.m (Mandatory): Model file whose extension name is .m
    |   |   |── config.json (Mandatory) Model configuration file. The file name is fixed to config.json. Only one model configuration file is supported.
    |   |   |── customize_service.py  (Optional) Model inference code. The file name is fixed to customize_service.py. Only one model inference code file exists. The files on which customize_service.py depends can be directly stored in the model directory. 
  • Estructura del paquete de modelo basado en Scikit_Learn
    Al publicar el modelo, solo necesita especificar el directorio resnet.
    OBS bucket/directory name
    |── resnet
    |   |── model (Mandatory) Name of a fixed subdirectory, which is used to store model-related files
    |   |   |── <<Custom Python package>> (Optional) User's Python package, which can be directly referenced in model inference code
    |   |   |── *.m (Mandatory): Model file whose extension name is .m
    |   |   |── config.json (Mandatory) Model configuration file. The file name is fixed to config.json. Only one model configuration file is supported.
    |   |   |── customize_service.py  (Optional) Model inference code. The file name is fixed to customize_service.py. Only one model inference code file exists. The files on which customize_service.py depends can be directly stored in the model directory.