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 2023-03-02 GMT+08:00

Creación de un algoritmo mediante una imagen personalizada

Sus algoritmos desarrollados localmente o desarrollados utilizando otras herramientas se pueden cargar en ModelArts para una gestión unificada.

Entradas para crear un algoritmo

Puede crear un algoritmo usando una imagen personalizada de ModelArts de cualquiera de las siguientes maneras:

  • Entrada 1: En la consola de ModelArts, elija Algorithm Management > My algorithms. A continuación, cree un algoritmo y utilícelo en los trabajos de entrenamiento o publíquelo en AI Gallery.
  • Entrada 2: En la consola de ModelArts, elija Training Management > Training Jobs y haga clic en Create Training Job para crear un algoritmo personalizado y enviar un trabajo de entrenamiento. Para obtener más información, véase Uso de una imagen personalizada para crear un trabajo de entrenamiento basado en CPU o GPU.

Parámetros para crear un algoritmo

Figura 1 Creación de un algoritmo mediante una imagen personalizada
Tabla 1 Parámetros para crear un algoritmo

Parámetro

Descripción

Boot Mode

Seleccione Custom images. Este parámetro es obligatorio.

Image Path

URL de una imagen de SWR. Este parámetro es obligatorio.

  • Imágenes privadas o imágenes compartidas: Haga clic en Select a la derecha para seleccionar una imagen de SWR. Asegúrese de que la imagen se ha cargado a SWR.
  • Imágenes públicas: También puede introducir manualmente la ruta de la imagen en el formato "<Organización a la que pertenece la imagen>/<Nombre de la imagen>" en SWR. No contenga el nombre de dominio (swr.<region>.xxx.com) en la ruta porque el sistema agregará automáticamente el nombre de dominio a la ruta. Por ejemplo:
    modelarts-job-dev-image/pytorch_1_8:train-pytorch_1.8.0-cuda_10.2-py_3.7-euleros_2.10.1-x86_64-8.1.1

Code Directory

Ruta de OBS para almacenar el código de entrenamiento. Este parámetro es opcional.

Tome la ruta de OBS obs://obs-bucket/training-test/demo-code como ejemplo. El contenido de la ruta OBS se descargará automáticamente a ${MA_JOB_DIR}/demo-code en el contenedor de entrenamiento, y demo-code (personalizable) es el directorio de último nivel de la ruta OBS.

Boot Command

Comando para arrancar una imagen. Este parámetro es obligatorio. El comando de arranque se ejecutará automáticamente después de descargar el directorio de código.

  • Si el script de arranque de entrenamiento es un archivo .py, train.py por ejemplo, el comando boot puede ser python ${MA_JOB_DIR}/demo-code/train.py.
  • Si el script de arranque de entrenamiento es un archivo .sh, main.sh por ejemplo, el comando boot puede ser bash ${MA_JOB_DIR}/demo-code/main.sh.

Los puntos y coma (;) y ampersands (&&) se pueden usar para combinar varios comandos de arranque, pero no se admiten saltos de línea. demo-code (personalizable) en el comando de arranque es el directorio del último nivel de la ruta OBS.

Configuración de tuberías

Un algoritmo basado en imágenes preestablecidas obtiene datos de un bucket de OBS o conjunto de datos para el entrenamiento del modelo. La salida de entrenamiento se almacena en un bucket de OBS. Los parámetros de entrada y salida del código del algoritmo deben analizarse para permitir el intercambio de datos entre ModelArts y OBS. Para obtener más información sobre cómo desplegar el código para entrenamientos en ModelArts, consulte Despliegue de un script personalizado.

Cuando utilice una imagen preestablecida para crear un algoritmo, configure las canalizaciones de entrada y salida.

  • Configuraciones de entrada
    Tabla 2 Configuraciones de entrada

    Parámetro

    Descripción

    Parameter Name

    Si utiliza argparse en el código del algoritmo para analizar data_url en la entrada de datos, establezca el parámetro de entrada de datos en data_url al crear el algoritmo. Establezca el nombre basado en el parámetro de entrada de datos en su código de algoritmo.

    El parámetro de ruta de código debe ser el mismo que el de entrada de datos analizado en su código de algoritmo. De lo contrario, el código de algoritmo no puede obtener los datos de entrada.

    Description

    Descripción personalizable del parámetro de entrada,

    Obtained from

    Fuente del parámetro de entrada. Puede seleccionar Hyperparameters (predeterminado) o Environment variables.

    Constraints

    Si los datos se obtienen de una ruta de almacenamiento o de un conjunto de datos de ModelArts.

    Si selecciona el conjunto de datos de ModelArts como el origen de datos, se agregan las siguientes restricciones:

    • Labeling Type: Para obtener más información, consulte la sección Creación de un trabajo de etiquetado.
    • Data Format que puede ser Default, CarbonData o ambos. Default indica el formato de manifiesto.
    • Data Segmentation: solo está disponible para los conjuntos de datos de clasificación de imágenes, de detección de objetos, de clasificación de texto y de clasificación de sonido.

      Los valores posibles son Segmented dataset, Dataset not segmented y Unlimited. Para obtener más información, consulte la sección Publicación de una versión de datos.

    Yes

    Permite múltiples fuentes de entrada de datos basadas en el algoritmo

    Figura 2 Configuraciones de entrada
  • Configuraciones de salida
    Tabla 3 Configuraciones de salida

    Parámetro

    Descripción

    Parameter Name

    Si utiliza argparse en el código del algoritmo para analizar train_url en la salida de datos, establezca el parámetro de salida de datos en train_url al crear el algoritmo. Establezca el nombre basado en el parámetro de salida de datos en su código de algoritmo.

    El parámetro de ruta de código debe ser el mismo que el parámetro de salida de datos analizado en el código de algoritmo. De lo contrario, el código de algoritmo no puede obtener la ruta de salida.

    Description

    Descripción personalizable del parámetro de salida,

    Obtained from

    Fuente del parámetro de salida. Puede seleccionar Hyperparameters (predeterminado) o Environment variables.

    Yes

    Permite múltiples rutas de salida de datos basadas en el algoritmo

    Figura 3 Configuraciones de salida

Definición de Hiperparámetros

Cuando se utiliza una imagen preestablecida para crear un algoritmo, ModelArts le permite personalizar los hiperparámetros para que pueda verlos o modificarlos en cualquier momento. Después de definir los hiperparámetros, se muestran en el comando de inicio y se transfieren al archivo de inicio como parámetros de CLI.

  1. Importar hiperparámetros.

    Puede hacer clic en Add hyperparameter para agregar manualmente hiperparámetros. Solo letras, dígitos, guiones (-), guiones bajos (_), comas (,), puntos (.) y espacios están permitidos.

    Figura 4 Adición de hiperparámetros

  2. Editar hiperparámetros. Para obtener más información, véase Tabla 4.
    Tabla 4 Hiperparámetros

    Parámetro

    Descripción

    Name

    Nombre de hiperparámetro.

    Introduzca de 1 a 64 caracteres. Solo se permiten letras, dígitos, guiones medios (-) y guiones bajos (_).

    Type

    Tipo del hiperparámetro, que puede ser String, Integer, Float, o Boolean

    Default

    Valor predeterminado del hiperparámetro, que se utiliza para los trabajos de entrenamiento de forma predeterminada

    Constraints

    Haga clic en restrain. A continuación, establezca el rango del valor predeterminado o el valor enumerado en el cuadro de diálogo que se muestra.

    Required

    Si el parámetro es obligatorio. El valor puede ser Yes o No. Si selecciona No, puede eliminar el hiperparámetro en la página de creación de trabajos de entrenamiento cuando utilice este algoritmo para crear un trabajo de entrenamiento. Si selecciona Yes, el hiperparámetro no se puede eliminar.

    Description

    Descripción del hiperparámetro

    Solo se permiten letras, dígitos, espacios, guiones (-), guiones bajos (_), comas (,) y puntos (.).

Adición de restricciones de entrenamiento

Puede agregar restricciones de entrenamiento del algoritmo en función de sus necesidades.

  • Resource Type: Las opciones son CPU y GPU. Puede seleccionar varias opciones.
  • Multicard Training: Seleccione supported o not supported.
  • Distributed Training: Seleccione supported o not supported.

Vista previa del entorno en tiempo de ejecución

Cuando cree un trabajo de entrenamiento, haga clic en la flecha de en la esquina inferior derecha de la página para conocer la ruta del directorio de código, el archivo de inicio y los datos de entrada y salida en el contenedor de entrenamiento.

Figura 5 Vista previa del entorno en tiempo de ejecución

Procedimiento posterior

Después de crear un algoritmo, úsalo para crear un trabajo de entrenamiento. Para obtener más información, véase Uso de una imagen personalizada para crear un trabajo de entrenamiento basado en CPU o GPU.

También puede publicar el nuevo algoritmo en AI Gallery y compartirlo con otros usuarios.