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
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
Por ejemplo, para establecer una oferta máxima con un 50 % de descuento, configure lo siguiente:
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
Especifique varios tipos de instancia candidatos separados por
| STRING | Sí |
data_source_uris | No | Monta directamente una ruta de origen de datos. El formato es
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 | 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:
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 | StringToString | Sí |
tags | No | Configure etiquetas para el trabajo. El formato es | StringToString | Sí |
oversold_type | No | Configure cómo utiliza el trabajo los recursos de cómputo inactivos. Valores válidos:
| 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:
| STRING | Sí |
priority | No | Configure la prioridad del trabajo. El valor predeterminado es 1. El rango de valores va de 1 a 9, donde:
| 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:
| 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.1ps2wEn 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.
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_fileEn este caso,
job_filees 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_fileEn este caso,
job_filees 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
Una vez que el trabajo se envía correctamente, puede gestionarlo con la herramienta de cliente. Para obtener más información, consulte Command used to stop training jobs y Commands used to query logs or jobs.
También puede gestionar los trabajos enviados desde la consola. Para obtener más información, consulte Manage training jobs.