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-09-14 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. Luego, 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 más detalles, véase Uso de una imagen personalizada para crear un trabajo de entrenamiento basado en CPU o GPU.

Parámetros para crear un algoritmo

Tabla 1 Parámetros para crear un algoritmo

Parámetro

Descripción

Boot Mode

Seleccione Custom images. Este parámetro es obligatorio.

Image

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. Para más detalles, véase ¿Cómo puedo iniciar sesión en SWR y cargar imágenes en él?.
  • 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 de 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 de 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

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

    Por ejemplo, si utiliza argparse en el código del algoritmo para analizar data_url en la entrada de datos, configure el parámetro de entrada de datos en data_url al crear el algoritmo.

    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, véase 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 Publicación de una versión de datos.

    Add

    Se permiten múltiples fuentes de entrada de datos.

  • Configuraciones de salida
    Tabla 3 Configuraciones de salida

    Parámetro

    Descripción

    Parameter Name

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

    Por ejemplo, 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.

    Description

    Descripción personalizable del parámetro de salida,

    Obtained from

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

    Add

    Se permiten múltiples rutas de salida de datos.

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.

    Figura 1 Adición de hiperparámetros
  2. Editar hiperparámetros.

    Para más detalles, 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

    Seleccione 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, no puede suprimir el hiperparámetro de la página de creación de trabajos de entrenamiento cuando utilice este algoritmo para crear un trabajo de entrenamiento.

    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: Seleccione los tipos de recursos necesarios.
  • Multicard Training: Seleccione si desea admitir el entrenamiento de varias tarjetas.
  • Distributed Training: Seleccione si desea admitir el entrenamiento distribuido.

Vista previa del entorno en tiempo de ejecución

Al crear un algoritmo, 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 arranque y los datos de entrada y salida en el contenedor de entrenamiento.

Procedimiento posterior

Después de crear un algoritmo, úselo para crear un trabajo de entrenamiento. Para más detalles, véase Uso de una imagen personalizada para crear un trabajo de entrenamiento basado en CPU o GPU.