Use a ferramenta de cliente para enviar vários tipos de tarefas de treinamento. Este tópico descreve os comandos usados para enviar tarefas, incluindo a sintaxe de invocação, as descrições dos parâmetros e exemplos de uso. Após o envio, gerencie a tarefa conforme necessário.
Parâmetros comuns para envio de tarefas
Ao usar a linha de comando do DLC (dlc) para enviar tarefas TensorFlow (tfjob), PyTorch (pytorchjob) ou XGBoost (xgboostjob), um conjunto de parâmetros comuns se aplica. Os parâmetros comuns estão listados abaixo.
Tabela 1. Parâmetros comuns para envio de tarefas
Parâmetro | Obrigatório | Descrição | Tipo | Suporte no arquivo de parâmetros da tarefa |
name | Sim | O nome da tarefa. Várias tarefas podem compartilhar o mesmo nome. | STRING | Sim |
command | Sim | O comando de inicialização para cada nó. | STRING | Sim |
data_sources | Não | Monte um conjunto de dados. Para isso, especifique a versão do conjunto de dados e o caminho de montagem no formato
É possível vincular vários conjuntos de dados ao mesmo tempo, separados por vírgulas (,). O valor padrão é vazio. | STRING | Sim |
spot_spec | Não | Use recursos spot. O formato é
Por exemplo, para definir um lance máximo com 50% de desconto, configure:
Os tipos de instância spot são configurados por meio dos parâmetros específicos de função do framework da tarefa (por exemplo, para PyTorchJob, use --master_spec e --worker_spec). | STRING | Sim |
elastic_spot_specs | Não | Use recursos spot elásticos com vários tipos de instância. O formato é
Especifique vários tipos de instância candidatos separados por
| STRING | Sim |
data_source_uris | Não | Monte diretamente um caminho de origem de dados (source). O formato é
É possível vincular vários caminhos de origem de dados ao mesmo tempo, separados por vírgulas (,). O valor padrão é vazio. | STRING | Sim |
code_source | Não | O ID da origem do código. Visualize-o na página Code configuration. Apenas um único valor pode ser especificado. O valor padrão é vazio. | STRING | Sim |
code_branch | Não | Especifica a branch do repositório de código. Use este parâmetro junto com o parâmetro code_source. | STRING | Sim |
code_commit | Não | Especifica o ID do commit do repositório de código. Use este parâmetro junto com o parâmetro code_source. | STRING | Sim |
thirdparty_libs | Não | Bibliotecas de terceiros do Python. Separe várias bibliotecas com vírgulas (,). O valor padrão é vazio. | STRING | Sim |
thirdparty_lib_dir | Não | O diretório que contém o arquivo requirements.txt usado para instalar bibliotecas de terceiros do Python. Se preferir, instale as bibliotecas manualmente. O valor padrão é vazio. | STRING | Não |
vpc_id | Não | O ID da VPC (Virtual Private Cloud) que a tarefa pode acessar. O valor padrão é vazio. | STRING | Sim |
switch_id | Não (obrigatório se vpc_id for especificado) | O ID do vSwitch na VPC que a tarefa acessa. O valor padrão é vazio. | STRING | Sim |
security_group_id | Não (obrigatório se vpc_id for especificado) | O ID do grupo de segurança na VPC que a tarefa acessa. O valor padrão é vazio. | STRING | Sim |
job_file | Não | O arquivo de parâmetros da tarefa. Os parâmetros no job_file têm precedência. O formato é | STRING | Não |
interactive | Não | Se a tarefa deve ser iniciada no modo interativo. | BOOL | Sim |
job_max_running_time_minutes | Não | O tempo máximo de execução da tarefa. O valor padrão é 0, o que significa que nenhum tempo máximo de execução está definido. | INT64 | Sim |
success_policy | Não | Suportado apenas pelo TFJob. Valores válidos:
Se deixado vazio, AllWorkers é usado por padrão. | STRING | Sim |
envs | Não | Configure variáveis de ambiente para os nós worker. O formato é | StringToString | Sim |
tags | Não | Configure tags para a tarefa. O formato é | StringToString | Sim |
oversold_type | Não | Configure como a tarefa usa os recursos de computação ociosos. Valores válidos:
| STRING | Sim |
driver | Não | Especifica a versão do driver de GPU (gpu) usada pela tarefa. | STRING | Sim |
default_route | Não | Quando uma VPC é selecionada, configure o método para acessar a rede pública. Valores válidos:
| STRING | Sim |
priority | Não | Configure a prioridade da tarefa. O valor padrão é 1. O intervalo de valores é de 1 a 9, onde:
| INT32 | Sim |
exit_code_on_stopped | Não | Quando uma tarefa em execução no modo interativo é interrompida, especifica o código de saída da ferramenta de linha de comando. O valor padrão é 0. | INT32 | Sim |
job_reserved_minutes | Não | Por favor, defina o período de retenção (em minutos) após o término da tarefa. O valor padrão é 0. | INT32 | Sim |
job_reserved_policy | Não | Defina a política de retenção para a tarefa. Valores válidos:
| STRING | Sim |
Envie tarefas de treinamento do TensorFlow (submit tfjob)
-
Função
Usado para enviar tarefas de treinamento do TensorFlow.
-
Sintaxe
Envie tarefas do TensorFlow usando parâmetros de linha de comando ou um arquivo de parâmetros da tarefa.
./dlc submit tfjob [flags] -
Parâmetros
Ao enviar uma tarefa do TensorFlow usando parâmetros de linha de comando, substitua os parâmetros no comando pelos valores reais. Ao enviar usando um arquivo de parâmetros da tarefa, escreva os parâmetros no arquivo no formato
<parameterName>=<parameterValue>. Os parâmetros comuns para envio de tarefas do TensorFlow estão listados no início deste tópico. A seguir estão os parâmetros específicos para tarefas do TensorFlow:Tabela 2. Parâmetros específicos para tarefas do TensorFlow
Parâmetro
Obrigatório
Descrição
Tipo
Suporte no arquivo de parâmetros da tarefa
workspace_id
Sim
O ID do workspace. O valor padrão é vazio. Para obter informações sobre como criar um workspace (crie um se necessário), consulte Create and manage workspaces.
STRING
Sim
chief
Não
Se o nó Chief do TensorFlow deve ser ativado. Valores válidos:
false: Padrão. Desativa o nó Chief do TensorFlow.
true: Ativa o nó Chief do TensorFlow.
BOOL
Sim
chief_image
Não
A imagem do nó Chief do TensorFlow. O valor padrão é vazio.
STRING
Sim
chief_spec
Não
O tipo de instância usado pelo nó Chief do TensorFlow. O valor padrão é vazio.
STRING
Sim
master_image
Não
A imagem do nó Master do TensorFlow. O valor padrão é vazio.
STRING
Sim
master_spec
Não
O tipo de instância usado pelo nó Master do TensorFlow.
STRING
Sim
masters
Não
O número de nós Master do TensorFlow. O valor padrão é 0.
INT
Sim
ps
Não
O número de nós Parameter Server do TensorFlow. O valor padrão é 0.
INT
Sim
ps_image
Não
A imagem do nó Parameter Server do TensorFlow. O valor padrão é vazio.
STRING
Sim
ps_spec
Não
O tipo de instância usado pelo nó Parameter Server do TensorFlow. O valor padrão é vazio.
STRING
Sim
worker_image
Não
A imagem do nó Worker do TensorFlow. O valor padrão é vazio.
STRING
Sim
worker_spec
Não
O tipo de instância usado pelo nó Worker do TensorFlow. O valor padrão é vazio.
STRING
Sim
workers
Não
O número de nós Worker do TensorFlow. O valor padrão é 0.
INT
Sim
evaluator_image
Não
A imagem do nó Evaluator do TensorFlow. O valor padrão é vazio.
STRING
Sim
evaluator_spec
Não
O tipo de instância usado pelo nó Evaluator do TensorFlow. O valor padrão é vazio.
STRING
Sim
evaluators
Não
O número de nós Evaluator do TensorFlow. O valor padrão é 0.
INT
Sim
graphlearn_image
Não
A imagem do nó GraphLearn do TensorFlow. O valor padrão é vazio.
STRING
Sim
graphlearn_spec
Não
O tipo de instância usado pelo nó GraphLearn do TensorFlow. O valor padrão é vazio.
STRING
Sim
graphlearns
Não
O número de nós GraphLearn do TensorFlow. O valor padrão é 0.
INT
Sim
Tabela 3. Parâmetros específicos para envio de tarefas do TensorFlow para um grupo de recursos dedicado
Parâmetro
Obrigatório
Descrição
Tipo
Suporte no arquivo de parâmetros da tarefa
resource_id/@parmname
Não (obrigatório ao enviar tarefas para um grupo de recursos dedicado)
O ID da cota de recursos dedicados. O valor padrão é vazio. Para obter informações sobre como criar uma cota de recursos dedicados, consulte General computing resource quotas.
STRING
Sim
priority/@parmname
Não
A prioridade da tarefa. O valor padrão é 1.
INT
Sim
chief_cpu/@parmname
Não
O número de CPUs usadas pelo nó Chief do TensorFlow. O valor padrão é vazio.
STRING
Sim
chief_gpu/@parmname
Não
O número de GPUs usadas pelo nó Chief do TensorFlow. O valor padrão é vazio.
STRING
Sim
chief_gpu_type/@parmname
Não
O tipo de GPU usada pelo nó Chief do TensorFlow. O valor padrão é vazio. Exemplo: GU50.
STRING
Sim
chief_memory/@parmname
Não
Os recursos de memória usados pelo nó Chief do TensorFlow. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
chief_shared_memory/@parmname
Não
Os recursos de memória compartilhada para o nó Chief do TensorFlow. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
master_cpu/@parmname
Não
O número de CPUs usadas pelo nó Master do TensorFlow. O valor padrão é vazio.
STRING
Sim
master_gpu/@parmname
Não
O número de GPUs usadas pelo nó Master do TensorFlow. O valor padrão é vazio.
STRING
Sim
master_gpu_type/@parmname
Não
O tipo de GPU usada pelo nó Master do TensorFlow. O valor padrão é vazio. Exemplo: GU50.
STRING
Sim
master_memory/@parmname
Não
Os recursos de memória usados pelo nó Master do TensorFlow. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
master_shared_memory/@parmname
Não
Os recursos de memória compartilhada para o nó Master do TensorFlow. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
*_cpu/@parmname
Não
O número de CPUs usadas pelos nós do TensorFlow. O valor padrão é vazio. Substitua por (ps, worker, evaluator, graphlearn).
STRING
Sim
*_gpu/@parmname
Não
O número de GPUs usadas pelos nós do TensorFlow. O valor padrão é vazio. Substitua por (ps, worker, evaluator, graphlearn).
STRING
Sim
*_gpu_type/@parmname
Não
O tipo de GPU usada pelos nós do TensorFlow. O valor padrão é vazio. Exemplo: GU50. Substitua por (ps, worker, evaluator, graphlearn).
STRING
Sim
*_memory/@parmname
Não
Os recursos de memória usados pelos nós do TensorFlow. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi. Substitua por (ps, worker, evaluator, graphlearn).
STRING
Sim
*_shared_memory/@parmname
Não
Os recursos de memória compartilhada para os nós do TensorFlow. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi. Substitua por (ps, worker, evaluator, graphlearn).
STRING
Sim
-
Exemplos
-
Para testar, envie uma tarefa distribuída com 2 Workers e 1 PS usando parâmetros de linha de comando. Exemplo:
./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/O sistema retorna um resultado semelhante ao seguinte:
+----------------------------------+--------------------------------------+ | JobId | RequestId | +----------------------------------+--------------------------------------+ | dlcmp6vwljkz**** | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx | +----------------------------------+--------------------------------------+ -
Alternativamente, envie uma tarefa distribuída com 2 Workers e 1 PS usando um arquivo de parâmetros da tarefa. Exemplo:
./dlc submit tfjob --job_file=job_file.dist_mnist.1ps2wAqui, job_file.dist_mnist.1ps2w/@parmname é o arquivo de parâmetros da tarefa. Os parâmetros são especificados no formato
<parameterName>=<parameterValue>. O conteúdo de job_file.dist_mnist.1ps2w/@parmname é o seguinte: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/
-
Envie tarefas de treinamento do PyTorch (submit pytorchjob)
-
Função
Usado para enviar tarefas de treinamento do PyTorch.
-
Sintaxe
Envie tarefas do PyTorch usando parâmetros de linha de comando ou um arquivo de parâmetros da tarefa.
./dlc submit pytorchjob [flags] -
Parâmetros
Ao enviar uma tarefa do PyTorch usando parâmetros de linha de comando, substitua os parâmetros no comando pelos valores reais. Ao enviar usando um arquivo de parâmetros da tarefa, escreva os parâmetros no arquivo no formato
<parameterName>=<parameterValue>. Os parâmetros comuns para envio de tarefas do PyTorch estão listados no início deste tópico. A seguir estão os parâmetros específicos para tarefas do PyTorch:Tabela 4. Parâmetros específicos para tarefas do PyTorch
Parâmetro
Obrigatório
Descrição
Tipo
Suporte no arquivo de parâmetros da tarefa
workspace_id/@parmname
Sim
O ID do workspace. O valor padrão é vazio. Para obter informações sobre como criar um workspace, consulte Create and manage workspaces.
STRING
Sim
master_image/@parmname
Não
A imagem do nó Master do PyTorch. O valor padrão é vazio.
STRING
Sim
master_spec/@parmname
Não
O tipo de instância usado pelo nó Master do PyTorch. O valor padrão é vazio.
STRING
Sim
masters/@parmname
Não
O número de nós Master do PyTorch. O valor padrão é 0.
INT
Sim
worker_image/@parmname
Não
A imagem do nó Worker do PyTorch. O valor padrão é vazio.
STRING
Sim
worker_spec/@parmname
Não
O tipo de instância usado pelo nó Worker do PyTorch. O valor padrão é vazio.
STRING
Sim
workers/@parmname
Não
O número de nós Worker do PyTorch. O valor padrão é 0.
INT
Sim
Tabela 5. Parâmetros específicos para envio de tarefas do PyTorch para um grupo de recursos dedicado
Parâmetro
Obrigatório
Descrição
Tipo
Suporte no arquivo de parâmetros da tarefa
resource_id/@parmname
Não (obrigatório ao enviar tarefas para um grupo de recursos dedicado)
O ID da cota de recursos dedicados. O valor padrão é vazio. Para obter informações sobre como criar uma cota de recursos dedicados, consulte General computing resource quotas.
STRING
Sim
priority/@parmname
Não
A prioridade da tarefa. O valor padrão é 1.
INT
Sim
master_cpu/@parmname
Não
O número de CPUs usadas pelo nó Master do PyTorch. O valor padrão é vazio.
STRING
Sim
master_gpu/@parmname
Não
O número de GPUs usadas pelo nó Master do PyTorch. O valor padrão é vazio.
STRING
Sim
master_gpu_type/@parmname
Não
O tipo de GPU usada pelo nó Master do PyTorch. O valor padrão é vazio. Exemplo: GU50.
STRING
Sim
master_memory/@parmname
Não
Os recursos de memória usados pelo nó Master do PyTorch. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
master_shared_memory/@parmname
Não
Os recursos de memória compartilhada para o nó Master do PyTorch. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
worker_cpu/@parmname
Não
O número de CPUs usadas pelo nó Worker do PyTorch. O valor padrão é vazio.
STRING
Sim
worker_gpu/@parmname
Não
O número de GPUs usadas pelo nó Worker do PyTorch. O valor padrão é vazio.
STRING
Sim
worker_gpu_type/@parmname
Não
O tipo de GPU usada pelo nó Worker do PyTorch. O valor padrão é vazio. Exemplo: GU50.
STRING
Sim
worker_memory/@parmname
Não
Os recursos de memória usados pelo nó Worker do PyTorch. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
worker_shared_memory/@parmname
Não
Os recursos de memória compartilhada para o nó Worker do PyTorch. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
-
Exemplos
Envie uma tarefa de treinamento de modelo de GPU usando parâmetros de linha de comando. Antes de executar, atualize o ambiente se necessário. Exemplo:
./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=*****Envie uma tarefa de treinamento de modelo que usa recursos spot usando parâmetros de linha de comando. Exemplo:
./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=*****O sistema retorna um resultado semelhante ao seguinte:
+----------------------------------+--------------------------------------+ | JobId | RequestId | +----------------------------------+--------------------------------------+ | dlcu704xxuxk**** | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx | +----------------------------------+--------------------------------------+
Envie tarefas de treinamento do XGBoost (submit xgboostjob)
-
Função
Usado para enviar tarefas de treinamento do XGBoost.
-
Sintaxe
Envie tarefas do XGBoost usando parâmetros de linha de comando ou um arquivo de parâmetros da tarefa.
./dlc submit xgboostjob [flags] -
Parâmetros
Ao enviar uma tarefa do XGBoost usando parâmetros de linha de comando, substitua os parâmetros no comando pelos valores reais. Ao enviar usando um arquivo de parâmetros da tarefa, escreva os parâmetros no arquivo no formato
<parameterName>=<parameterValue>. Os parâmetros comuns para envio de tarefas do XGBoost estão listados no início deste tópico. A seguir estão os parâmetros específicos para tarefas do XGBoost:Tabela 6. Parâmetros específicos para tarefas do XGBoost
Parâmetro
Obrigatório
Descrição
Tipo
Suporte no arquivo de parâmetros da tarefa
workspace_id/@parmname
Sim
O ID do workspace. O valor padrão é vazio. Para obter informações sobre como criar um workspace, consulte Create and manage workspaces.
STRING
Sim
master_image/@parmname
Não
A imagem do nó Master do XGBoost. O valor padrão é vazio.
STRING
Sim
master_spec/@parmname
Não
O tipo de instância usado pelo nó Master do XGBoost. O valor padrão é vazio.
STRING
Sim
masters/@parmname
Não
O número de nós Master do XGBoost. O valor padrão é 0.
INT
Sim
worker_image/@parmname
Não
A imagem do nó Worker do XGBoost. O valor padrão é vazio.
STRING
Sim
worker_spec/@parmname
Não
O tipo de instância usado pelo nó Worker do XGBoost. O valor padrão é vazio.
STRING
Sim
workers/@parmname
Não
O número de nós Worker do XGBoost. O valor padrão é 0.
INT
Sim
Tabela 7. Parâmetros específicos para envio de tarefas do XGBoost para um grupo de recursos dedicado
Parâmetro
Obrigatório
Descrição
Tipo
Suporte no arquivo de parâmetros da tarefa
resource_id/@parmname
Não (obrigatório ao enviar tarefas para um grupo de recursos dedicado)
O ID da cota de recursos dedicados. O valor padrão é vazio. Para obter informações sobre como criar uma cota de recursos dedicados, consulte General computing resource quotas.
STRING
Sim
priority/@parmname
Não
A prioridade da tarefa. O valor padrão é 1.
INT
Sim
master_cpu/@parmname
Não
O número de CPUs usadas pelo nó Master do XGBoost. O valor padrão é vazio.
STRING
Sim
master_gpu/@parmname
Não
O número de GPUs usadas pelo nó Master do XGBoost. O valor padrão é vazio.
STRING
Sim
master_gpu_type/@parmname
Não
O tipo de GPU usada pelo nó Master do XGBoost. O valor padrão é vazio. Exemplo: GU50.
STRING
Sim
master_memory/@parmname
Não
Os recursos de memória usados pelo nó Master do XGBoost. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
master_shared_memory/@parmname
Não
Os recursos de memória compartilhada para o nó Master do XGBoost. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
worker_cpu/@parmname
Não
O número de CPUs usadas pelo nó Worker do XGBoost. O valor padrão é vazio.
STRING
Sim
worker_gpu/@parmname
Não
O número de GPUs usadas pelo nó Worker do XGBoost. O valor padrão é vazio.
STRING
Sim
worker_gpu_type/@parmname
Não
O tipo de GPU usada pelo nó Worker do XGBoost. O valor padrão é vazio. Exemplo: GU50.
STRING
Sim
worker_memory/@parmname
Não
Os recursos de memória usados pelo nó Worker do XGBoost. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
worker_shared_memory/@parmname
Não
Os recursos de memória compartilhada para o nó Worker do XGBoost. O valor padrão é vazio. Exemplo: 500 Mi, 1 Gi.
STRING
Sim
-
Exemplos
Envie uma tarefa do XGBoost usando parâmetros de linha de comando. Exemplo:
./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=*****O sistema retorna um resultado semelhante ao seguinte:
+----------------------------------+--------------------------------------+ | JobId | RequestId | +----------------------------------+--------------------------------------+ | dlc1nvu3gli0**** | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx | +----------------------------------+--------------------------------------+
Parâmetros avançados para envio de tarefas
Agende tarefas para nós específicos
Ao enviar uma tarefa usando uma cota de recursos de computação inteligente Lingjun ou computação geral, agende a tarefa para nós específicos configurando parâmetros na linha de comando do DLC.
Nota: Este recurso está disponível atualmente apenas para usuários na lista de permissões. Se precisar de acesso, entre em contato com o gerente da sua conta para ser adicionado à lista de permissões. O acesso ao console requer HTTPS.
-
Parâmetros
Parâmetro
Descrição
Valor de exemplo
--allow_nodes="${allow_nodes}"
Especifica uma lista de nomes de nós. Separe vários nomes de nós com vírgulas (,). Não inclua espaços entre os nomes dos nós.
lingjuc47iextvg9-,lingjuc47iextvg9-
--deny_nodes="${deny_nodes}"
Especifica uma lista de nós a serem excluídos. Separe vários nomes de nós com vírgulas (,). Não inclua espaços entre os nomes dos nós.
lingjuc47iextvg9-,lingjuc47iextvg9-
-
Exemplos
Parâmetros de linha de comando
Envie uma tarefa usando parâmetros de linha de comando. Exemplo:
-
Nenhum nó de agendamento 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 nós de agendamento
./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-****" -
Exclua nós 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 nós de agendamento e exclua nós 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-****"
Configuração baseada em arquivo
Envie uma tarefa usando uma configuração baseada em arquivo. Exemplo:
./dlc submit pytorchjob -f job_fileAqui, job_file é o arquivo de parâmetros da tarefa. O conteúdo é o seguinte:
-
Nenhum nó de agendamento 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 nós de agendamento
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-**** -
Exclua nós 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 nós de agendamento e exclua nós 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-****
-
Desative a verificação de estoque de pagamento conforme o uso para envio de tarefas
Configure o parâmetro disable_ecs_stock_check na linha de comando do DLC para desativar a verificação de estoque de pagamento conforme o uso.
-
Parâmetros
Parâmetro
Descrição
Valor de exemplo
disable_ecs_stock_check
Desativa a verificação de estoque de pagamento conforme o uso. Valores válidos:
false (padrão): Ativa a verificação de estoque de pagamento conforme o uso.
true: Desativa a verificação de estoque de pagamento conforme o uso.
true ou false
-
Exemplos
Parâmetros de linha de comando
Envie uma tarefa usando parâmetros de linha de comando. Exemplo:
-
Se necessário, ative a verificação de estoque de pagamento conforme o uso
./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 -
Desative a verificação de estoque de pagamento conforme o uso
./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
Configuração baseada em arquivo
Envie uma tarefa usando uma configuração baseada em arquivo. Exemplo:
./dlc submit pytorchjob -f job_fileAqui, job_file é o arquivo de parâmetros da tarefa. O conteúdo é o seguinte:
-
Ative a verificação de estoque de pagamento conforme o uso
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 -
Desative a verificação de estoque de pagamento conforme o uso
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
Após o envio bem-sucedido de uma tarefa, gerencie a tarefa usando a ferramenta de cliente. Para obter mais informações, consulte Command used to stop training jobs e Commands used to query logs or jobs.
Também é possível gerenciar tarefas enviadas no console. Para obter mais informações, consulte Manage training jobs.