Compartilhar via


PyTorch Classe

Representa um avaliador para treinamento em experimentos do PyTorch.

DEPRECADO. Use o ScriptRunConfig objeto com seu próprio ambiente definido ou um dos ambientes coletados do Azure ML PyTorch. Para obter uma introdução à configuração de execuções do experimento PyTorch com ScriptRunConfig, consulte Treinar modelos PyTorch em escala com o Azure Machine Learning.

Versões com suporte: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

Inicializar um avaliador PyTorch.

Referência de execução do Docker. :type shm_size: str :p aram resume_from: o caminho de dados que contém os arquivos de ponto de verificação ou modelo dos quais retomar o experimento. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: o tempo máximo permitido para a execução. O Azure ML tentará automaticamente

cancele a execução se demorar mais do que esse valor.

Construtor

PyTorch(source_directory, *, compute_target=None, vm_size=None, vm_priority=None, entry_script=None, script_params=None, node_count=1, process_count_per_node=1, distributed_backend=None, distributed_training=None, use_gpu=False, use_docker=True, custom_docker_base_image=None, custom_docker_image=None, image_registry_details=None, user_managed=False, conda_packages=None, pip_packages=None, conda_dependencies_file_path=None, pip_requirements_file_path=None, conda_dependencies_file=None, pip_requirements_file=None, environment_variables=None, environment_definition=None, inputs=None, source_directory_data_store=None, shm_size=None, resume_from=None, max_run_duration_seconds=None, framework_version=None, _enable_optimized_mode=False, _disable_validation=True, _show_lint_warnings=False, _show_package_warnings=False)

Parâmetros

Nome Description
source_directory
Obrigatório
str

Um diretório local que contém arquivos de configuração de experimento.

compute_target
Obrigatório

O destino de computação em que o treinamento ocorrerá. Isso pode ser um objeto ou a cadeia de caracteres "local".

vm_size
Obrigatório
str

O tamanho da VM do destino de computação que será criado para o treinamento. Valores com suporte: qualquer tamanho de VM do Azure.

vm_priority
Obrigatório
str

A prioridade da VM do destino de computação que será criado para o treinamento. Se não for especificado, 'dedicado' será usado.

Valores com suporte: 'dedicado' e 'lowpriority'.

Isso só entra em vigor quando o vm_size param valor é especificado na entrada.

entry_script
Obrigatório
str

O caminho relativo para o arquivo que contém o script de treinamento.

script_params
Obrigatório

Um dicionário de argumentos de linha de comando a serem passados para o script de treinamento especificado em entry_script.

node_count
Obrigatório
int

O número de nós no destino de computação usado para treinamento. Se for maior que 1, um trabalho distribuído de MPI será executado. Somente o AmlCompute destino tem suporte para trabalhos distribuídos.

process_count_per_node
Obrigatório
int

O número de processos por nó. Se for maior que 1, um trabalho distribuído de MPI será executado. Somente o AmlCompute destino tem suporte para trabalhos distribuídos.

distributed_backend
Obrigatório
str

O back-end de comunicação para treinamento distribuído.

DEPRECADO. Use o parâmetro distributed_training.

Valores com suporte: 'mpi', 'gloo' e 'nccl'.

'mpi': MPI/Horovod 'gloo', 'nccl': Treinamento distribuído PyTorch nativo

Esse parâmetro é necessário quando node_count ou process_count_per_node> 1.

Quando node_count == 1 e process_count_per_node == 1, nenhum back-end será usado, a menos que o back-end seja definido explicitamente. Somente o AmlCompute destino tem suporte para treinamento distribuído.

distributed_training
Obrigatório
Mpi ou Gloo ou Nccl

Parâmetros para executar um trabalho de treinamento distribuído.

Para executar um trabalho distribuído com back-end de MPI, use Mpi o objeto para especificar process_count_per_node. Para executar um trabalho distribuído com o back-end do gloo, use Gloo. Para executar um trabalho distribuído com back-end nccl, use Nccl.

use_gpu
Obrigatório

Especifica se o ambiente para executar o experimento deve dar suporte a GPUs. Se for true, uma imagem do Docker padrão baseada em GPU será usada no ambiente. Se for falso, uma imagem baseada em CPU será usada. As imagens padrão do Docker (CPU ou GPU) serão usadas somente se o custom_docker_image parâmetro não estiver definido. Essa configuração é usada somente em destinos de computação habilitados para Docker.

use_docker
Obrigatório

Especifica se o ambiente para executar o experimento deve ser baseado no Docker.

custom_docker_base_image
Obrigatório
str

O nome da imagem do Docker da qual a imagem a ser usada para treinamento será criada.

DEPRECADO. Use o parâmetro custom_docker_image.

Se não for definido, uma imagem baseada em CPU padrão será usada como a imagem base.

custom_docker_image
Obrigatório
str

O nome da imagem do Docker da qual a imagem a ser usada para treinamento será criada. Se não for definido, uma imagem baseada em CPU padrão será usada como a imagem base.

image_registry_details
Obrigatório

Os detalhes do registro de imagem do Docker.

user_managed
Obrigatório

Especifica se o Azure ML reutiliza um ambiente python existente. Se for falso, o Azure ML criará um ambiente python com base na especificação de dependências do Conda.

conda_packages
Obrigatório

Uma lista de cadeias de caracteres que representam pacotes conda a serem adicionados ao ambiente Python para o experimento.

pip_packages
Obrigatório

Uma lista de cadeias de caracteres que representam pacotes pip a serem adicionados ao ambiente Python para o experimento.

conda_dependencies_file_path
Obrigatório
str

O caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará nenhum pacote relacionado à estrutura. DEPRECADO. Use o parâmetro conda_dependencies_file.

pip_requirements_file_path
Obrigatório
str

O caminho relativo para o arquivo de texto de requisitos pip. Isso pode ser fornecido em combinação com o pip_packages parâmetro. DEPRECADO. Use o parâmetro pip_requirements_file.

conda_dependencies_file
Obrigatório
str

O caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará nenhum pacote relacionado à estrutura.

pip_requirements_file
Obrigatório
str

O caminho relativo para o arquivo de texto de requisitos pip. Isso pode ser fornecido em combinação com o pip_packages parâmetro.

environment_variables
Obrigatório

Um dicionário de valores e nomes de variáveis de ambiente. Essas variáveis de ambiente são definidas no processo em que o script do usuário está sendo executado.

environment_definition
Obrigatório

A definição de ambiente para o experimento. Ele inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente por meio de outros parâmetros para a construção do Avaliador pode ser definida usando esse parâmetro. Se esse parâmetro for especificado, ele terá precedência sobre outros parâmetros relacionados ao ambiente, comouse_gpu, , custom_docker_imageconda_packagesou pip_packages. Erros serão relatados em combinações inválidas de parâmetros.

inputs
Obrigatório

Uma lista de DataReference objetos ou DatasetConsumptionConfig objetos a serem usados como entrada.

source_directory_data_store
Obrigatório

O repositório de dados de backup para o compartilhamento de projeto.

shm_size
Obrigatório
str

O tamanho do bloco de memória compartilhada do contêiner do Docker. Se não for definido, o azureml.core.environment._DEFAULT_SHM_SIZE padrão será usado. Para obter mais informações, confira Referência sobre docker run.

resume_from
Obrigatório

O caminho de dados que contém o ponto de verificação ou os arquivos de modelo dos quais retomar o experimento.

max_run_duration_seconds
Obrigatório
int

O tempo máximo permitido para a execução. O Azure ML tentará cancelar automaticamente a execução se levar mais tempo do que esse valor.

framework_version
Obrigatório
str

A versão do PyTorch a ser usada para executar o código de treinamento. PyTorch.get_supported_versions() retorna uma lista das versões compatíveis com o SDK atual.

source_directory
Obrigatório
str

Um diretório local que contém arquivos de configuração de experimento.

compute_target
Obrigatório

O destino de computação em que o treinamento ocorrerá. Isso pode ser um objeto ou a cadeia de caracteres "local".

vm_size
Obrigatório
str

O tamanho da VM do destino de computação que será criado para o treinamento. Valores com suporte: qualquer tamanho de VM do Azure.

vm_priority
Obrigatório
str

A prioridade da VM do destino de computação que será criado para o treinamento. Se não for especificado, 'dedicado' será usado.

Valores com suporte: 'dedicado' e 'lowpriority'.

Isso só entra em vigor quando o vm_size param valor é especificado na entrada.

entry_script
Obrigatório
str

O caminho relativo para o arquivo que contém o script de treinamento.

script_params
Obrigatório

Um dicionário de argumentos de linha de comando a serem passados para o script de treinamento especificado em entry_script.

node_count
Obrigatório
int

O número de nós no destino de computação usado para treinamento. Se for maior que 1, o trabalho distribuído de mpi será executado. Somente o destino azureml.core.compute.AmlCompute tem suporte para trabalhos distribuídos.

process_count_per_node
Obrigatório
int

O número de processos por nó. Se for maior que 1, um trabalho distribuído de MPI será executado. Somente o AmlCompute destino tem suporte para trabalhos distribuídos.

distributed_backend
Obrigatório
str

O back-end de comunicação para treinamento distribuído.

DEPRECADO. Use o parâmetro distributed_training.

Valores com suporte: 'mpi', 'gloo' e 'nccl'.

'mpi': MPI/Horovod 'gloo', 'nccl': Treinamento distribuído PyTorch nativo

Esse parâmetro é necessário quando node_count ou process_count_per_node> 1.

Quando node_count == 1 e process_count_per_node == 1, nenhum back-end será usado, a menos que o back-end seja definido explicitamente. Somente o AmlCompute destino tem suporte para treinamento distribuído.

distributed_training
Obrigatório
Mpi ou Gloo ou Nccl

Parâmetros para executar um trabalho de treinamento distribuído.

Para executar um trabalho distribuído com back-end de MPI, use Mpi o objeto para especificar process_count_per_node. Para executar um trabalho distribuído com o back-end do gloo, use Gloo. Para executar um trabalho distribuído com back-end nccl, use Nccl.

use_gpu
Obrigatório

Especifica se o ambiente para executar o experimento deve dar suporte a GPUs. Se for true, uma imagem do Docker padrão baseada em GPU será usada no ambiente. Se for falso, uma imagem baseada em CPU será usada. As imagens padrão do Docker (CPU ou GPU) serão usadas somente se o custom_docker_image parâmetro não estiver definido. Essa configuração é usada somente em destinos de computação habilitados para Docker.

use_docker
Obrigatório

Especifica se o ambiente para executar o experimento deve ser baseado no Docker.

custom_docker_base_image
Obrigatório
str

O nome da imagem do Docker da qual a imagem a ser usada para treinamento será criada.

DEPRECADO. Use o parâmetro custom_docker_image.

Se não for definido, uma imagem baseada em CPU padrão será usada como a imagem base.

custom_docker_image
Obrigatório
str

O nome da imagem do Docker da qual a imagem a ser usada para treinamento será criada. Se não for definido, uma imagem baseada em CPU padrão será usada como a imagem base.

image_registry_details
Obrigatório

Os detalhes do registro de imagem do Docker.

user_managed
Obrigatório

Especifica se o Azure ML reutiliza um ambiente python existente. Se for falso, o Azure ML criará um ambiente python com base na especificação de dependências do Conda.

conda_packages
Obrigatório

Uma lista de cadeias de caracteres que representam pacotes conda a serem adicionados ao ambiente Python para o experimento.

pip_packages
Obrigatório

Uma lista de cadeias de caracteres que representam pacotes pip a serem adicionados ao ambiente Python para o experimento.

conda_dependencies_file_path
Obrigatório
str

O caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará nenhum pacote relacionado à estrutura. DEPRECADO. Use o parâmetro conda_dependencies_file.

pip_requirements_file_path
Obrigatório
str

O caminho relativo para o arquivo de texto de requisitos pip. Isso pode ser fornecido em combinação com o pip_packages parâmetro. DEPRECADO. Use o parâmetro pip_requirements_file.

conda_dependencies_file
Obrigatório
str

O caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará nenhum pacote relacionado à estrutura.

pip_requirements_file
Obrigatório
str

O caminho relativo para o arquivo de texto de requisitos pip. Isso pode ser fornecido em combinação com o pip_packages parâmetro.

environment_variables
Obrigatório

Um dicionário de valores e nomes de variáveis de ambiente. Essas variáveis de ambiente são definidas no processo em que o script do usuário está sendo executado.

environment_definition
Obrigatório

A definição de ambiente para o experimento. Ele inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente por meio de outros parâmetros para a construção do Avaliador pode ser definida usando esse parâmetro. Se esse parâmetro for especificado, ele terá precedência sobre outros parâmetros relacionados ao ambiente, comouse_gpu, , custom_docker_imageconda_packagesou pip_packages. Erros serão relatados em combinações inválidas.

inputs
Obrigatório

Uma lista de azureml.data.data_reference. Objetos DataReference a serem usados como entrada.

source_directory_data_store
Obrigatório

O repositório de dados de backup para o compartilhamento de projeto.

shm_size
Obrigatório

O tamanho do bloco de memória compartilhada do contêiner do Docker. Se não for definido, o azureml.core.environment._DEFAULT_SHM_SIZE padrão será usado. Para obter mais informações, consulte

framework_version
Obrigatório
str

A versão do PyTorch a ser usada para executar o código de treinamento. PyTorch.get_supported_versions() retorna uma lista das versões compatíveis com o SDK atual.

_enable_optimized_mode
Obrigatório

Habilite o build de ambiente incremental com imagens de estrutura pré-criadas para uma preparação mais rápida do ambiente. Uma imagem de estrutura predefinida é criada com base em imagens base padrão de CPU/GPU do Azure ML com dependências de estrutura pré-instaladas.

_disable_validation
Obrigatório

Desabilite a validação de script antes de executar o envio. O padrão é True.

_show_lint_warnings
Obrigatório

Mostrar avisos de linting de script. O padrão é False.

_show_package_warnings
Obrigatório

Mostrar avisos de validação de pacote. O padrão é False.

Comentários

Ao enviar um trabalho de treinamento, o Azure ML executa seu script em um ambiente conda em um contêiner do Docker. Os contêineres do PyTorch têm as dependências a seguir instaladas.

Dependências | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (somente imagem de GPU) | 10.0 | 10.1 | cuDNN (somente imagem gpu) | 7.6.3 | 7.6.3 | NCCL (somente imagem de GPU) | 2.4.8 | 2.4.8 | azureml-defaults | Mais recente | Mais recente | OpenMpi | 3.1.2 | 3.1.2 | horovod | 0.18.1 | 0.18.1/0.19.1/0.19.5 | miniconda | 4.5.11 | 4.5.11 | tocha | 1.0/1.1/1.2/1.3.1 | 1.4.0/1.5.0/1.6.0 | torchvision | 0.4.1 | 0.5.0 | git | 2.7.4 | 2.7.4 | tensorboard | 1,14 | 1,14 | future | 0.17.1 | 0.17.1 |

As imagens do Docker estendem o Ubuntu 16.04.

Para instalar dependências adicionais, você pode usar o parâmetro ou pip_packages o conda_packages parâmetro. Ou você pode especificar o parâmetro ou pip_requirements_file o conda_dependencies_file parâmetro. Como alternativa, você pode criar sua própria imagem e passar o custom_docker_image parâmetro para o construtor do avaliador.

Para obter mais informações sobre contêineres do Docker usados no treinamento do PyTorch, consulte https://github.com/Azure/AzureML-Containers.

O avaliador do PyTorch dá suporte ao treinamento distribuído em clusters de CPU e GPU usando o Horovod, uma estrutura de software livre e todas as estruturas de redução para treinamento distribuído. Para obter exemplos e mais informações sobre como usar o PyTorch no treinamento distribuído, consulte o tutorial Treinar e registrar modelos PyTorch em escala com o Azure Machine Learning.

Atributos

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'