Todos los productos
Search
Centro de documentos

Platform For AI:Comandos para enviar trabajos

Última actualización: Sep 23, 2026

La herramienta cliente le permite enviar varios tipos de trabajos de entrenamiento. Este tema describe los comandos que se utilizan para enviar trabajos, incluida la sintaxis de invocación, la descripción de los parámetros y algunos ejemplos de uso.

Parámetros comunes para el envío de trabajos

Cuando utiliza la línea de comandos de DLC para enviar trabajos de TensorFlow (tfjob), PyTorch (pytorchjob) o XGBoost (xgboostjob), se aplica un conjunto de parámetros comunes. A continuación se enumeran dichos parámetros.

Tabla 1. Parámetros comunes para el envío de trabajos

Parámetro

Obligatorio

Descripción

Tipo

Compatible en el archivo de parámetros del trabajo

name

Sí

El nombre del trabajo. Varios trabajos pueden compartir el mismo nombre.

STRING

Sí

command

Sí

El comando de inicio para cada nodo.

STRING

Sí

data_sources

No

Monta un conjunto de datos. Especifique la versión del conjunto de datos y la ruta de montaje con el formato --data_sources=<datasets_id>:<version>:<mount_path>, donde:

  • <datasets_id>: reemplace este valor por el ID del conjunto de datos. Puede consultarlo en la página Datasets.

  • <version>: reemplace este valor por la versión del conjunto de datos, por ejemplo, v1.

  • <mount_path>: reemplace este valor por la ruta de montaje, por ejemplo, /mnt/data/.

Es posible vincular varios conjuntos de datos al mismo tiempo, separados por comas (,). El valor predeterminado está vacío.

STRING

Sí

spot_spec

No

Utiliza recursos spot. El formato es <limit_type>:<limit_value>, donde:

  • <limit_type>: el tipo de límite de oferta. Se admiten dos valores:

    • discount: descuento máximo.

    • price: precio máximo.

  • <limit_value>: el precio máximo o el descuento máximo.

Por ejemplo, para establecer una oferta máxima con un 50 % de descuento, configure lo siguiente:

--spot_spec=discount:0.5

Los tipos de instancias spot se configuran mediante los parámetros específicos de rol del framework del trabajo (por ejemplo, para PyTorchJob, utilice --master_spec y --worker_spec).

STRING

Sí

elastic_spot_specs

No

Utiliza recursos spot elásticos con varios tipos de instancia. El formato es

<instance_type>:<limit_type>:<limit_value>, donde:

  • <instance_type>: el tipo de instancia. Consulte los tipos disponibles en la consola. Los tipos de instancias spot compatibles varían según la región.

  • <limit_type>: el tipo de límite de oferta. Se admiten dos valores:

    • discount: descuento máximo.

    • price: precio máximo.

  • <limit_value>: el precio máximo o el descuento máximo.

Especifique varios tipos de instancia candidatos separados por ,. El trabajo se ejecuta en el primer tipo de instancia cuya oferta resulte exitosa. Por ejemplo:

--elastic_spot_specs=ml.gp7vf.16.40xlarge:discount:1,ml.gu8tef.8.46xlarge:discount:0.8,ml.gu8tf.8.40xlarge:discount:0.5

STRING

Sí

data_source_uris

No

Monta directamente una ruta de origen de datos. El formato es --data_source_uris=<uri>::<mount_path>, donde:

  • <uri>: reemplace este valor por la ruta de almacenamiento del origen de datos, por ejemplo, oss://examplebucket.oss-cn-hangzhou-internal.aliyuncs.com/path/.

  • <mount_path>: reemplace este valor por la ruta de montaje, por ejemplo, /mnt/data/.

Es posible vincular varias rutas de origen de datos al mismo tiempo, separadas por comas (,). El valor predeterminado está vacío.

STRING

Sí

code_source

No

El ID del origen de código. Puede consultarlo en la página Code configuration. Solo se puede especificar un único valor. El valor predeterminado está vacío.

STRING

Sí

code_branch

No

Especifica la rama del repositorio de código. Utilice este parámetro junto con el parámetro code_source.

STRING

Sí

code_commit

No

Especifica el ID de commit del repositorio de código. Utilice este parámetro junto con el parámetro code_source.

STRING

Sí

thirdparty_libs

No

Bibliotecas de terceros de Python. Separe varias bibliotecas con comas (,). El valor predeterminado está vacío.

STRING

Sí

thirdparty_lib_dir

No

El directorio que contiene el archivo requirements.txt utilizado para instalar bibliotecas de terceros de Python. El valor predeterminado está vacío.

STRING

No

vpc_id

No

El ID de la VPC (Virtual Private Cloud) a la que el trabajo puede acceder. El valor predeterminado está vacío.

STRING

Sí

switch_id

No (obligatorio si se especifica vpc_id)

El ID del vSwitch en la VPC a la que accede el trabajo. El valor predeterminado está vacío.

STRING

Sí

security_group_id

No (obligatorio si se especifica vpc_id)

El ID del security group en la VPC a la que accede el trabajo. El valor predeterminado está vacío.

STRING

Sí

job_file

No

El archivo de parámetros del trabajo. Los parámetros definidos en job_file tienen prioridad. El formato es key=value, donde el nombre de la clave coincide con el nombre del parámetro de la línea de comandos. Para obtener más detalles sobre la configuración, consulte Advanced parameters for job submission.

STRING

No

interactive

No

Indica si se inicia el trabajo en modo interactivo.

BOOL

Sí

job_max_running_time_minutes

No

El tiempo máximo de ejecución del trabajo. El valor predeterminado es 0, lo que significa que no se establece ningún tiempo máximo de ejecución.

INT64

Sí

success_policy

No

Solo compatible con TFJob. Valores válidos:

  • ChiefWorker: el trabajo finaliza correctamente en cuanto el Pod del nodo Chief se completa de forma exitosa.

  • AllWorkers: el trabajo finaliza correctamente solo cuando todos los nodos se completan de forma exitosa.

Si se deja vacío, se utiliza AllWorkers de manera predeterminada.

STRING

Sí

envs

No

Configure las variables de entorno para los nodos worker. El formato es key1=value1,key2=value2. Separe varias variables de entorno con comas (,). La clave y el valor de cada variable de entorno se separan con un signo de igual (=).

StringToString

Sí

tags

No

Configure etiquetas para el trabajo. El formato es key1=value1,key2=value2. Separe varias etiquetas con comas (,). La clave y el valor de cada etiqueta se separan con un signo de igual (=).

StringToString

Sí

oversold_type

No

Configure cómo utiliza el trabajo los recursos de cómputo inactivos. Valores válidos:

  • AcceptQuotaOverSold (aceptable): el trabajo puede utilizar recursos de cómputo inactivos.

  • ForceQuotaOverSold (solo inactivos): el trabajo utiliza únicamente recursos de cómputo inactivos.

  • ForbiddenQuotaOverSold (no aceptable): el trabajo utiliza solo los recursos dentro de la cuota asociada y no aprovecha los recursos de cómputo inactivos.

STRING

Sí

driver

No

Especifica la versión del controlador de GPU que utiliza el trabajo.

STRING

Sí

default_route

No

Cuando se selecciona una VPC, configure el método para acceder a la red pública. Valores válidos:

  • eth0 (predeterminado): accede a la red pública a través de la puerta de enlace pública.

  • eth1: accede a la red pública a través de la puerta de enlace privada de la VPC seleccionada.

STRING

Sí

priority

No

Configure la prioridad del trabajo. El valor predeterminado es 1. El rango de valores va de 1 a 9, donde:

  • 1 es la prioridad más baja.

  • 9 es la prioridad más alta.

INT32

Sí

exit_code_on_stopped

No

Cuando se detiene un trabajo que se ejecuta en modo interactivo, especifica el código de salida de la herramienta de línea de comandos. El valor predeterminado es 0.

INT32

Sí

job_reserved_minutes

No

Establezca el periodo de retención (en minutos) después de que finalice el trabajo. El valor predeterminado es 0.

INT32

Sí

job_reserved_policy

No

Establezca la política de retención del trabajo. Valores válidos:

  • Always (predeterminado): conserva el trabajo sin importar si finaliza de forma correcta o con errores.

  • OnFailure: conserva el trabajo solo cuando falla.

  • OnSucceed: conserva el trabajo solo cuando finaliza correctamente.

STRING

Sí

Envío de trabajos de entrenamiento de TensorFlow (submit tfjob)

  • Función

    Se utiliza para enviar trabajos de entrenamiento de TensorFlow.

  • Sintaxis

    Puede enviar trabajos de TensorFlow mediante parámetros de la línea de comandos o con un archivo de parámetros del trabajo.

    ./dlc submit tfjob [flags]
  • Parámetros

    Cuando envíe un trabajo de TensorFlow mediante parámetros de la línea de comandos, reemplace los parámetros del comando con los valores reales. Si utiliza un archivo de parámetros del trabajo, escríbalos en el archivo con el formato <parameterName>=<parameterValue>. Los parámetros comunes para enviar trabajos de TensorFlow se enumeran al principio de este tema. A continuación se muestran los parámetros específicos de los trabajos de TensorFlow:

    Tabla 2. Parámetros específicos de los trabajos de TensorFlow

    Parámetro

    Obligatorio

    Descripción

    Tipo

    Compatible en el archivo de parámetros del trabajo

    workspace_id

    Sí

    El ID del espacio de trabajo. El valor predeterminado está vacío. Para obtener información sobre cómo crear un espacio de trabajo, consulte Create and manage workspaces.

    STRING

    Sí

    chief

    No

    Indica si se habilita el nodo Chief de TensorFlow. Valores válidos:

    • false: valor predeterminado. Deshabilita el nodo Chief de TensorFlow.

    • true: habilita el nodo Chief de TensorFlow.

    BOOL

    Sí

    chief_image

    No

    La imagen del nodo Chief de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    chief_spec

    No

    El tipo de instancia que utiliza el nodo Chief de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    master_image

    No

    La imagen del nodo Master de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    master_spec

    No

    El tipo de instancia que utiliza el nodo Master de TensorFlow.

    STRING

    Sí

    masters

    No

    La cantidad de nodos Master de TensorFlow. El valor predeterminado es 0.

    INT

    Sí

    ps

    No

    La cantidad de nodos Parameter Server de TensorFlow. El valor predeterminado es 0.

    INT

    Sí

    ps_image

    No

    La imagen del nodo Parameter Server de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    ps_spec

    No

    El tipo de instancia que utiliza el nodo Parameter Server de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    worker_image

    No

    La imagen del nodo Worker de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    worker_spec

    No

    El tipo de instancia que utiliza el nodo Worker de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    workers

    No

    La cantidad de nodos Worker de TensorFlow. El valor predeterminado es 0.

    INT

    Sí

    evaluator_image

    No

    La imagen del nodo Evaluator de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    evaluator_spec

    No

    El tipo de instancia que utiliza el nodo Evaluator de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    evaluators

    No

    La cantidad de nodos Evaluator de TensorFlow. El valor predeterminado es 0.

    INT

    Sí

    graphlearn_image

    No

    La imagen del nodo GraphLearn de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    graphlearn_spec

    No

    El tipo de instancia que utiliza el nodo GraphLearn de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    graphlearns

    No

    La cantidad de nodos GraphLearn de TensorFlow. El valor predeterminado es 0.

    INT

    Sí

    Tabla 3. Parámetros específicos para enviar trabajos de TensorFlow a un resource group dedicado

    Parámetro

    Obligatorio

    Descripción

    Tipo

    Compatible en el archivo de parámetros del trabajo

    resource_id/@parmname

    No (obligatorio al enviar trabajos a un resource group dedicado)

    El ID de la cuota de recursos dedicados. El valor predeterminado está vacío. Para obtener información sobre cómo crear una cuota de recursos dedicados, consulte General computing resource quotas.

    STRING

    Sí

    priority/@parmname

    No

    La prioridad del trabajo. El valor predeterminado es 1.

    INT

    Sí

    chief_cpu/@parmname

    No

    La cantidad de CPU que utiliza el nodo Chief de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    chief_gpu/@parmname

    No

    La cantidad de GPU que utiliza el nodo Chief de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    chief_gpu_type/@parmname

    No

    El tipo de GPU que utiliza el nodo Chief de TensorFlow. El valor predeterminado está vacío. Ejemplo: GU50.

    STRING

    Sí

    chief_memory/@parmname

    No

    Los recursos de memoria que utiliza el nodo Chief de TensorFlow. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    chief_shared_memory/@parmname

    No

    Los recursos de memoria compartida para el nodo Chief de TensorFlow. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    master_cpu/@parmname

    No

    La cantidad de CPU que utiliza el nodo Master de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    master_gpu/@parmname

    No

    La cantidad de GPU que utiliza el nodo Master de TensorFlow. El valor predeterminado está vacío.

    STRING

    Sí

    master_gpu_type/@parmname

    No

    El tipo de GPU que utiliza el nodo Master de TensorFlow. El valor predeterminado está vacío. Ejemplo: GU50.

    STRING

    Sí

    master_memory/@parmname

    No

    Los recursos de memoria que utiliza el nodo Master de TensorFlow. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    master_shared_memory/@parmname

    No

    Los recursos de memoria compartida para el nodo Master de TensorFlow. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    *_cpu/@parmname

    No

    La cantidad de CPU que utilizan los nodos de TensorFlow. El valor predeterminado está vacío. Reemplace por (ps, worker, evaluator, graphlearn).

    STRING

    Sí

    *_gpu/@parmname

    No

    La cantidad de GPU que utilizan los nodos de TensorFlow. El valor predeterminado está vacío. Reemplace por (ps, worker, evaluator, graphlearn).

    STRING

    Sí

    *_gpu_type/@parmname

    No

    El tipo de GPU que utilizan los nodos de TensorFlow. El valor predeterminado está vacío. Ejemplo: GU50. Reemplace por (ps, worker, evaluator, graphlearn).

    STRING

    Sí

    *_memory/@parmname

    No

    Los recursos de memoria que utilizan los nodos de TensorFlow. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi. Reemplace por (ps, worker, evaluator, graphlearn).

    STRING

    Sí

    *_shared_memory/@parmname

    No

    Los recursos de memoria compartida para los nodos de TensorFlow. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi. Reemplace por (ps, worker, evaluator, graphlearn).

    STRING

    Sí

  • Ejemplos

    • Envíe un trabajo distribuido con 2 Workers y 1 PS mediante parámetros de la línea de comandos. Ejemplo:

      ./dlc submit tfjob --name=test_2021 --ps=1 \
        --ps_spec=ecs.g6.8xlarge \
        --ps_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 \
        --workers=2 \
        --worker_spec=ecs.g6.4xlarge \
        --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 \
        --command="python /root/data/dist_mnist/code/dist-main.py --max_steps=10000 --data_dir=/root/data/dist_mnist/data/" \
        --workspace_id=***** \
        --data_sources=d-pcsah1t86b********:v1:/mnt/data/

      El sistema devuelve un resultado similar al siguiente:

      +----------------------------------+--------------------------------------+
      |              JobId               |              RequestId               |
      +----------------------------------+--------------------------------------+
      | dlcmp6vwljkz****                 | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx |
      +----------------------------------+--------------------------------------+
    • Envíe un trabajo distribuido con 2 Workers y 1 PS mediante un archivo de parámetros del trabajo. Ejemplo:

      ./dlc submit tfjob --job_file=job_file.dist_mnist.1ps2w

      En este caso, job_file.dist_mnist.1ps2w/@parmname es el archivo de parámetros del trabajo. Los parámetros se especifican con el formato <parameterName>=<parameterValue>. El contenido de job_file.dist_mnist.1ps2w/@parmname es el siguiente:

      name=test_2021
      workers=2
      worker_spec=ecs.g6.4xlarge
      worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04
      ps=1
      ps_spec=ecs.g6.8xlarge
      ps_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04
      command=python /root/data/dist_mnist/code/dist-main.py --max_steps=10000 --data_dir=/root/data/dist_mnist/data/
      workspace_id=*****
      data_sources=d-pcsah1t86b********:v1:/mnt/data/

Envío de trabajos de entrenamiento de PyTorch (submit pytorchjob)

  • Función

    Se utiliza para enviar trabajos de entrenamiento de PyTorch.

  • Sintaxis

    Puede enviar trabajos de PyTorch mediante parámetros de la línea de comandos o con un archivo de parámetros del trabajo.

    ./dlc submit pytorchjob [flags]
  • Parámetros

    Cuando envíe un trabajo de PyTorch mediante parámetros de la línea de comandos, reemplace los parámetros del comando con los valores reales. Si utiliza un archivo de parámetros del trabajo, escríbalos en el archivo con el formato <parameterName>=<parameterValue>. Los parámetros comunes para enviar trabajos de PyTorch se enumeran al principio de este tema. A continuación se muestran los parámetros específicos de los trabajos de PyTorch:

    Tabla 4. Parámetros específicos de los trabajos de PyTorch

    Parámetro

    Obligatorio

    Descripción

    Tipo

    Compatible en el archivo de parámetros del trabajo

    workspace_id/@parmname

    Sí

    El ID del espacio de trabajo. El valor predeterminado está vacío. Para obtener información sobre cómo crear un espacio de trabajo, consulte Create and manage workspaces.

    STRING

    Sí

    master_image/@parmname

    No

    La imagen del nodo Master de PyTorch. El valor predeterminado está vacío.

    STRING

    Sí

    master_spec/@parmname

    No

    El tipo de instancia que utiliza el nodo Master de PyTorch. El valor predeterminado está vacío.

    STRING

    Sí

    masters/@parmname

    No

    La cantidad de nodos Master de PyTorch. El valor predeterminado es 0.

    INT

    Sí

    worker_image/@parmname

    No

    La imagen del nodo Worker de PyTorch. El valor predeterminado está vacío.

    STRING

    Sí

    worker_spec/@parmname

    No

    El tipo de instancia que utiliza el nodo Worker de PyTorch. El valor predeterminado está vacío.

    STRING

    Sí

    workers/@parmname

    No

    La cantidad de nodos Worker de PyTorch. El valor predeterminado es 0.

    INT

    Sí

    Tabla 5. Parámetros específicos para enviar trabajos de PyTorch a un resource group dedicado

    Parámetro

    Obligatorio

    Descripción

    Tipo

    Compatible en el archivo de parámetros del trabajo

    resource_id/@parmname

    No (obligatorio cuando se envían trabajos a un resource group dedicado)

    El ID de la cuota de recursos dedicada. El valor predeterminado está vacío. Para obtener información sobre cómo crear una cuota de recursos dedicada, consulte General computing resource quotas.

    STRING

    Sí

    priority/@parmname

    No

    La prioridad del trabajo. El valor predeterminado es 1.

    INT

    Sí

    master_cpu/@parmname

    No

    La cantidad de CPU que utiliza el nodo PyTorch Master. El valor predeterminado está vacío.

    STRING

    Sí

    master_gpu/@parmname

    No

    La cantidad de GPU que utiliza el nodo PyTorch Master. El valor predeterminado está vacío.

    STRING

    Sí

    master_gpu_type/@parmname

    No

    El tipo de GPU que utiliza el nodo PyTorch Master. El valor predeterminado está vacío. Ejemplo: GU50.

    STRING

    Sí

    master_memory/@parmname

    No

    Los recursos de memoria que utiliza el nodo PyTorch Master. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    master_shared_memory/@parmname

    No

    Los recursos de memoria compartida para el nodo PyTorch Master. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    worker_cpu/@parmname

    No

    La cantidad de CPU que utiliza el nodo PyTorch Worker. El valor predeterminado está vacío.

    STRING

    Sí

    worker_gpu/@parmname

    No

    La cantidad de GPU que utiliza el nodo PyTorch Worker. El valor predeterminado está vacío.

    STRING

    Sí

    worker_gpu_type/@parmname

    No

    El tipo de GPU que utiliza el nodo PyTorch Worker. El valor predeterminado está vacío. Ejemplo: GU50.

    STRING

    Sí

    worker_memory/@parmname

    No

    Los recursos de memoria que utiliza el nodo PyTorch Worker. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    worker_shared_memory/@parmname

    No

    Los recursos de memoria compartida para el nodo PyTorch Worker. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

  • Ejemplos

    Envíe un trabajo de entrenamiento de modelos con GPU mediante parámetros de línea de comandos. Ejemplo:

    ./dlc submit pytorchjob --name=test_pt_face \
      --workers=1 \
      --worker_spec=ecs.gn6e-c12g1.3xlarge \
      --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/pytorch-training:1.7.1-gpu-py37-cu110-ubuntu18.04 \
      --command="apt-get update; apt-get -y --allow-downgrades install libpcre3=2:8.38-3.1 libpcre3-dev libgl1-mesa-glx libglib2.0-dev; cd /root/data/face; python train.py --num_workers 0 --save_folder outputs" \
      --data_sources=d-pcsah1t86b********:v1:/mnt/data/ \
      --workspace_id=*****

    Envíe un trabajo de entrenamiento de modelos que utilice recursos spot mediante parámetros de línea de comandos. Ejemplo:

    ./dlc submit pytorchjob --name=test_pt_face \
      --workers=1 \
      --elastic_spot_specs=ml.gp7vf.16.40xlarge:discount:1,ml.gu8tef.8.46xlarge:discount:1,ml.gu8tf.8.40xlarge:discount:0.5 \
      --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/pytorch-training:1.7.1-gpu-py37-cu110-ubuntu18.04 \
      --command="apt-get update; apt-get -y --allow-downgrades install libpcre3=2:8.38-3.1 libpcre3-dev libgl1-mesa-glx libglib2.0-dev; cd /root/data/face; python train.py --num_workers 0 --save_folder outputs" \
      --workspace_id=*****

    El sistema devuelve un resultado similar al siguiente:

    +----------------------------------+--------------------------------------+
    |              JobId               |              RequestId               |
    +----------------------------------+--------------------------------------+
    | dlcu704xxuxk****                 | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx |
    +----------------------------------+--------------------------------------+

Envíe trabajos de entrenamiento de XGBoost (submit xgboostjob)

  • Función

    Se utiliza para enviar trabajos de entrenamiento de XGBoost.

  • Sintaxis

    Los trabajos de XGBoost se envían mediante parámetros de línea de comandos o con un archivo de parámetros del trabajo.

    ./dlc submit xgboostjob [flags]
  • Parámetros

    Si envía un trabajo de XGBoost mediante parámetros de línea de comandos, sustituya los parámetros del comando por los valores reales. Si lo envía con un archivo de parámetros del trabajo, escriba los parámetros en el archivo con el formato <parameterName>=<parameterValue>. Los parámetros comunes para enviar trabajos de XGBoost se listan al inicio de este tema. A continuación se muestran los parámetros específicos de los trabajos de XGBoost:

    Tabla 6. Parámetros específicos de los trabajos de XGBoost

    Parámetro

    Obligatorio

    Descripción

    Tipo

    Compatible en el archivo de parámetros del trabajo

    workspace_id/@parmname

    Sí

    El identificador del espacio de trabajo. El valor predeterminado está vacío. Para obtener información sobre cómo crear un espacio de trabajo, consulte Create and manage workspaces.

    STRING

    Sí

    master_image/@parmname

    No

    La imagen del nodo XGBoost Master. El valor predeterminado está vacío.

    STRING

    Sí

    master_spec/@parmname

    No

    El tipo de instancia que utiliza el nodo XGBoost Master. El valor predeterminado está vacío.

    STRING

    Sí

    masters/@parmname

    No

    La cantidad de nodos XGBoost Master. El valor predeterminado es 0.

    INT

    Sí

    worker_image/@parmname

    No

    La imagen del nodo XGBoost Worker. El valor predeterminado está vacío.

    STRING

    Sí

    worker_spec/@parmname

    No

    El tipo de instancia que utiliza el nodo XGBoost Worker. El valor predeterminado está vacío.

    STRING

    Sí

    workers/@parmname

    No

    La cantidad de nodos XGBoost Worker. El valor predeterminado es 0.

    INT

    Sí

    Tabla 7. Parámetros específicos para enviar trabajos de XGBoost a un resource group dedicado

    Parámetro

    Obligatorio

    Descripción

    Tipo

    Compatible en el archivo de parámetros del trabajo

    resource_id/@parmname

    No (obligatorio cuando se envían trabajos a un resource group dedicado)

    El identificador de la cuota de recursos dedicados. El valor predeterminado está vacío. Para obtener información sobre cómo crear una cuota de recursos dedicados, consulte General computing resource quotas.

    STRING

    Sí

    priority/@parmname

    No

    La prioridad del trabajo. El valor predeterminado es 1.

    INT

    Sí

    master_cpu/@parmname

    No

    La cantidad de CPU que utiliza el nodo XGBoost Master. El valor predeterminado está vacío.

    STRING

    Sí

    master_gpu/@parmname

    No

    La cantidad de GPU que utiliza el nodo XGBoost Master. El valor predeterminado está vacío.

    STRING

    Sí

    master_gpu_type/@parmname

    No

    El tipo de GPU que utiliza el nodo XGBoost Master. El valor predeterminado está vacío. Ejemplo: GU50.

    STRING

    Sí

    master_memory/@parmname

    No

    Los recursos de memoria que utiliza el nodo XGBoost Master. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    master_shared_memory/@parmname

    No

    Los recursos de memoria compartida del nodo XGBoost Master. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    worker_cpu/@parmname

    No

    La cantidad de CPU que utiliza el nodo XGBoost Worker. El valor predeterminado está vacío.

    STRING

    Sí

    worker_gpu/@parmname

    No

    La cantidad de GPU que utiliza el nodo XGBoost Worker. El valor predeterminado está vacío.

    STRING

    Sí

    worker_gpu_type/@parmname

    No

    El tipo de GPU que utiliza el nodo XGBoost Worker. El valor predeterminado está vacío. Ejemplo: GU50.

    STRING

    Sí

    worker_memory/@parmname

    No

    Los recursos de memoria que utiliza el nodo XGBoost Worker. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

    worker_shared_memory/@parmname

    No

    Los recursos de memoria compartida del nodo XGBoost Worker. El valor predeterminado está vacío. Ejemplo: 500 Mi, 1 Gi.

    STRING

    Sí

  • Ejemplos

    Envíe un trabajo de XGBoost mediante parámetros de línea de comandos. Ejemplo:

    ./dlc submit xgboostjob --name=test_xgboost \
      --workers=1 \
      --worker_spec=ecs.gn6e-c12g1.3xlarge \
      --worker_image=xgboost-training:1.6.0-cpu-py36-ubuntu18.04 \
      --command="python /root/code/horovod/xgboost/main.py --job_type=Train --xgboost_parameter=objective:multi:softprob,num_class:3 --n_estimators=50 --model_path=autoAI/xgb-opt/2" \
      --data_sources=d-pcsah1t86b********:v1:/mnt/data/ \
      --workspace_id=*****

    El sistema devuelve un resultado similar al siguiente:

    +----------------------------------+--------------------------------------+
    |              JobId               |              RequestId               |
    +----------------------------------+--------------------------------------+
    | dlc1nvu3gli0****                 | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx |
    +----------------------------------+--------------------------------------+

Parámetros avanzados para el envío de trabajos

Programar trabajos en nodos específicos

Cuando envía un trabajo con una cuota de recursos de cómputo inteligente Lingjun o de cómputo general, puede programarlo en nodos específicos. Para ello, configure los parámetros correspondientes en la línea de comandos de DLC.

Nota

Esta función solo está disponible para los usuarios incluidos en la lista blanca. Si necesita acceso, comuníquese con su administrador de cuenta para que lo agregue a dicha lista.

  • Parámetros

    Parámetro

    Descripción

    Valor de ejemplo

    --allow_nodes="${allow_nodes}"

    Indica una lista de nombres de nodos. Separe varios nombres de nodos con comas (,) y no incluya espacios entre ellos.

    lingjuc47iextvg9-,lingjuc47iextvg9-

    --deny_nodes="${deny_nodes}"

    Indica una lista de nodos que se deben excluir. Separe varios nombres de nodos con comas (,) y no incluya espacios entre ellos.

    lingjuc47iextvg9-,lingjuc47iextvg9-

  • Ejemplos

    Parámetros de la línea de comandos

    Envíe un trabajo mediante parámetros de la línea de comandos. Ejemplo:

    • Sin nodo de programación especificado

      ./dlc submit pytorchjob --name=assign_node_test_no_node  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi'  
    • Especifique los nodos de programación

      ./dlc submit pytorchjob --name=assign_node_test_2_allow_nodes  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi' \
          --allow_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****" 
    • Excluya nodos específicos

       ./dlc submit pytorchjob --name=assign_node_test_two_deny_nodes  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi' \
          --deny_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****"
    • Especifique nodos de programación y excluya nodos específicos

      ./dlc submit pytorchjob --name=assign_node_test_two_allow_two_deny  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi' \
          --allow_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****" \
          --deny_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****"

    Configuración basada en archivos

    Envíe un trabajo mediante una configuración basada en archivos. Ejemplo:

    ./dlc submit pytorchjob -f job_file

    En este caso, job_file es el archivo de parámetros del trabajo. Su contenido es el siguiente:

    • Sin nodo de programación especificado

      name=assign_node_test_no_node
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      
    • Especifique los nodos de programación

      name=assign_node_test_2_allow_nodes
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      allow_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      
    • Excluya nodos específicos

      name=assign_node_test_two_allow_two_deny
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      deny_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      
    • Especifique nodos de programación y excluya nodos específicos

      name=assign_node_test_two_allow_two_deny
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      allow_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      deny_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      

Deshabilitar la comprobación de disponibilidad de instancias pay-as-you-go al enviar trabajos

Para deshabilitar la comprobación de disponibilidad de instancias pay-as-you-go, configure el parámetro disable_ecs_stock_check en la línea de comandos de DLC.

  • Parámetros

    Parámetro

    Descripción

    Valor de ejemplo

    disable_ecs_stock_check

    Deshabilita la comprobación de disponibilidad de instancias pay-as-you-go. Valores válidos:

    • false (predeterminado): habilita la comprobación de disponibilidad de instancias pay-as-you-go.

    • true: deshabilita la comprobación de disponibilidad de instancias pay-as-you-go.

    true o false

  • Ejemplos

    Parámetros de línea de comandos

    Envíe un trabajo mediante parámetros de línea de comandos. Ejemplo:

    • Habilitar la comprobación de disponibilidad de instancias pay-as-you-go

      ./dlc submit pytorchjob \
          --name=test_skip_checking3 \
          --command='sleep 1000' \
          --workspace_id=**** \
          --priority=1 \
          --workers=1 \
          --worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04 \
          --worker_spec=ecs.g6.xlarge  
    • Deshabilitar la comprobación de disponibilidad de instancias pay-as-you-go

      ./dlc submit pytorchjob \
          --name=test_skip_checking3 \
          --command='sleep 1000' \
          --workspace_id=**** \
          --priority=1 \
          --workers=1 \
          --worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04 \
          --worker_spec=ecs.g6.xlarge \
          --disable_ecs_stock_check=true
       

    Configuración basada en archivos

    Envíe un trabajo mediante una configuración basada en archivos. Ejemplo:

    ./dlc submit pytorchjob -f job_file

    En este caso, job_file es el archivo de parámetros del trabajo. Su contenido es el siguiente:

    • Habilitar la comprobación de disponibilidad de instancias pay-as-you-go

      name=test_skip_checking3
      workers=1
      worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04
      command=sleep 1000
      workspace_id=****
      worker_spec=ecs.g6.xlarge
      
    • Deshabilitar la comprobación de disponibilidad de instancias pay-as-you-go

      name=test_skip_checking3
      workers=1
      worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04
      command=sleep 1000
      workspace_id=****
      worker_spec=ecs.g6.xlarge
      disable_ecs_stock_check=true
      

Documentos relacionados