PyTorch Classe
Representa um avaliador para treinamento em experimentos PyTorch.
PRETERIDO. Use o objeto ScriptRunConfig com seu próprio ambiente definido ou um dos ambientes coletados do PyTorch do Azure ML. Para obter uma introdução à configuração de experimentos PyTorch executados com ScriptRunConfig, consulteTreinar 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 o ponto de verificação ou os arquivos de 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.
- Herança
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorPyTorch
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
- source_directory
- str
Um diretório local que contém os arquivos de configuração do experimento.
- compute_target
- AbstractComputeTarget ou str
O destino de computação onde o treinamento ocorrerá. Pode ser um objeto ou a cadeia de caracteres "local".
- vm_size
- 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
- str
A prioridade da VM do destino de computação que será criada para o treinamento. Se não for especificada, será usada a 'dedicada'.
Valores com suporte: 'dedicada' e 'de baixa prioridade'.
Isso somente terá efeito quando o vm_size param
for especificado na entrada.
- script_params
- dict
Um dicionário de argumentos de linha de comando para passar para o script de treinamento especificado em entry_script
.
- node_count
- 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 executará. Apenas o destino AmlCompute tem suporte para trabalhos distribuídos.
- process_count_per_node
- int
O número de processos por nó. Se for maior que 1, um trabalho distribuído de MPI executará. Apenas o destino AmlCompute tem suporte para trabalhos distribuídos.
- distributed_backend
- str
O back-end de comunicação para treinamento distribuído.
PRETERIDO. Use o parâmetro distributed_training
.
Valores com suporte: 'mpi', 'gloo' e 'nccl'.
'mpi': MPI/Horovod 'gloo', 'nccl': Treinamento Distribuído Nativo do PyTorch
Este parâmetro será 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. Apenas o destino AmlCompute tem suporte para treinamento distribuído.
Parâmetros para executar um trabalho de treinamento distribuído.
Para executar um trabalho distribuído com o back-end do MPI, use o objeto Mpi para especificar process_count_per_node
.
Para executar um trabalho distribuído com back-end de gloo, use Gloo.
Para executar um trabalho distribuído com back-end de nccl, use Nccl.
- use_gpu
- bool
Especifica se o ambiente para executar o experimento deve dar suporte a GPUs.
Se true, uma imagem do Docker padrão baseada em GPU será usada no ambiente. Se false, uma imagem baseada em CPU será usada. As imagens do Docker (CPU ou GPU) padrão serão usadas somente se o parâmetro custom_docker_image
não estiver definido. Essa configuração é usada apenas em destinos de computação habilitados para Docker.
- use_docker
- bool
Especifica se o ambiente para executar o experimento deve ser baseado em Docker.
- custom_docker_base_image
- str
O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será criada.
PRETERIDO. Use o parâmetro custom_docker_image
.
Se não for definido, uma imagem padrão baseada em CPU será usada como imagem base.
- custom_docker_image
- str
O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será criada. Se não for definido, uma imagem padrão baseada em CPU será usada como imagem base.
- user_managed
- bool
Especifica se o Azure ML reutiliza um ambiente do Python existente. Se for false, o Azure ML criará um ambiente do Python com base na especificação de dependências de conda.
- conda_packages
- list
Uma lista de cadeia de caracteres representando pacotes conda a serem adicionados ao ambiente do Python para o experimento.
- pip_packages
- list
Uma lista de cadeia de caracteres representando pacotes de pip a serem adicionados ao ambiente do Python para o experimento.
- conda_dependencies_file_path
- str
O caminho relativo para o arquivo yaml de dependências conda.
Se especificado, o Azure ML não instalará pacotes relacionados à estrutura.
PRETERIDO. Use o parâmetro conda_dependencies_file
.
- pip_requirements_file_path
- str
O caminho relativo para o arquivo de texto de requisitos de pip.
Isso pode ser fornecido em combinação com o parâmetro pip_packages
.
PRETERIDO. Use o parâmetro pip_requirements_file
.
- conda_dependencies_file
- str
O caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará pacotes relacionados à estrutura.
- pip_requirements_file
- str
O caminho relativo para o arquivo de texto de requisitos de pip.
Isso pode ser fornecido em combinação com o parâmetro pip_packages
.
- environment_variables
- dict
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
- Environment
A definição de ambiente para o experimento. Inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente por meio de outros parâmetros à construção do Avaliador poderá ser definida usando esse parâmetro. Se esse parâmetro for especificado, ele terá precedência sobre outros parâmetros relacionados ao ambiente como use_gpu
, custom_docker_image
, conda_packages
ou pip_packages
.
Erros serão relatados em combinações inválidas de parâmetros.
- inputs
- list
Uma lista de objetos DataReference ou DatasetConsumptionConfig para usar como entrada.
- source_directory_data_store
- Datastore
O armazenamento de dados de suporte para compartilhamento de projeto.
- shm_size
- str
O tamanho do bloco de memória compartilhada do contêiner do Docker. Se não for definido, será usado o padrão azureml.core.environment._DEFAULT_SHM_SIZE. Para obter mais informações, consulte Referência de execução do Docker.
- resume_from
- DataPath
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
- int
O tempo máximo permitido para a execução. O Azure ML tentará cancelar automaticamente a execução se demorar mais do que esse valor.
- framework_version
- 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 com suporte do SDK atual.
- source_directory
- str
Um diretório local que contém os arquivos de configuração do experimento.
- compute_target
- AbstractComputeTarget ou str
O destino de computação onde o treinamento ocorrerá. Pode ser um objeto ou a cadeia de caracteres "local".
- vm_size
- 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
- str
A prioridade da VM do destino de computação que será criada para o treinamento. Se não for especificada, será usada a 'dedicada'.
Valores com suporte: 'dedicada' e 'de baixa prioridade'.
Isso somente terá efeito quando o vm_size param
for especificado na entrada.
- script_params
- dict
Um dicionário de argumentos de linha de comando para passar para o script de treinamento especificado em entry_script
.
- node_count
- 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
- int
O número de processos por nó. Se for maior que 1, um trabalho distribuído de MPI executará. Apenas o destino AmlCompute tem suporte para trabalhos distribuídos.
- distributed_backend
- str
O back-end de comunicação para treinamento distribuído.
PRETERIDO. Use o parâmetro distributed_training
.
Valores com suporte: 'mpi', 'gloo' e 'nccl'.
'mpi': MPI/Horovod 'gloo', 'nccl': Treinamento Distribuído Nativo do PyTorch
Este parâmetro será 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. Apenas o destino AmlCompute tem suporte para treinamento distribuído.
Parâmetros para executar um trabalho de treinamento distribuído.
Para executar um trabalho distribuído com o back-end do MPI, use o objeto Mpi para especificar process_count_per_node
.
Para executar um trabalho distribuído com back-end de gloo, use Gloo.
Para executar um trabalho distribuído com back-end de nccl, use Nccl.
- use_gpu
- bool
Especifica se o ambiente para executar o experimento deve dar suporte a GPUs.
Se true, uma imagem do Docker padrão baseada em GPU será usada no ambiente. Se false, uma imagem baseada em CPU será usada. As imagens do Docker (CPU ou GPU) padrão serão usadas somente se o parâmetro custom_docker_image
não estiver definido. Essa configuração é usada apenas em destinos de computação habilitados para Docker.
- use_docker
- bool
Especifica se o ambiente para executar o experimento deve ser baseado em Docker.
- custom_docker_base_image
- str
O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será criada.
PRETERIDO. Use o parâmetro custom_docker_image
.
Se não for definido, uma imagem padrão baseada em CPU será usada como imagem base.
- custom_docker_image
- str
O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será criada. Se não for definido, uma imagem padrão baseada em CPU será usada como imagem base.
- user_managed
- bool
Especifica se o Azure ML reutiliza um ambiente do Python existente. Se for false, o Azure ML criará um ambiente do Python com base na especificação de dependências de conda.
- conda_packages
- list
Uma lista de cadeia de caracteres representando pacotes conda a serem adicionados ao ambiente do Python para o experimento.
- pip_packages
- list
Uma lista de cadeia de caracteres representando pacotes de pip a serem adicionados ao ambiente do Python para o experimento.
- conda_dependencies_file_path
- str
O caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará pacotes relacionados à estrutura.
PRETERIDO. Use o parâmetro conda_dependencies_file
.
- pip_requirements_file_path
- str
O caminho relativo para o arquivo de texto de requisitos de pip.
Isso pode ser fornecido em combinação com o parâmetro pip_packages
.
PRETERIDO. Use o parâmetro pip_requirements_file
.
- conda_dependencies_file
- str
O caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará pacotes relacionados à estrutura.
- pip_requirements_file
- str
O caminho relativo para o arquivo de texto de requisitos de pip.
Isso pode ser fornecido em combinação com o parâmetro pip_packages
.
- environment_variables
- dict
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
- Environment
A definição de ambiente para o experimento. Inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente por meio de outros parâmetros à construção do Avaliador poderá ser definida usando esse parâmetro. Se esse parâmetro for especificado, ele terá precedência sobre outros parâmetros relacionados ao ambiente como use_gpu
, custom_docker_image
, conda_packages
ou pip_packages
.
Erros serão relatados em combinações inválidas.
- inputs
- list
Uma lista de azureml.data.data_reference. Objetos DataReference a serem usados como entrada.
- source_directory_data_store
- Datastore
O armazenamento de dados de suporte para compartilhamento de projeto.
- shm_size
O tamanho do bloco de memória compartilhada do contêiner do Docker. Se não for definido, será usado o padrão azureml.core.environment._DEFAULT_SHM_SIZE. Para obter mais informações, consulte
- framework_version
- 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 com suporte do SDK atual.
- _enable_optimized_mode
- bool
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 pré-criada é criada com base nas imagens base padrão de CPU/GPU do Azure ML com dependências de estrutura pré-instaladas.
- _disable_validation
- bool
Desabilite a validação de script antes de executar o envio. O padrão é True.
Comentários
Ao enviar um trabalho de treinamento, o Azure ML executa o script em um ambiente de conda em um contêiner do Docker. Os contêineres do PyTorch têm as seguintes dependências 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 de 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 | torch | 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, é possível usar o parâmetro pip_packages
ou conda_packages
. Ou, você pode especificar o parâmetro pip_requirements_file
ou conda_dependencies_file
.
Como alternativa, você pode criar sua própria imagem e passar o parâmetro custom_docker_image
para o construtor avaliador.
Para obter mais informações sobre os contêineres do Docker usados no treinamento do PyTorch, consulte https://github.com/Azure/AzureML-Containers.
O avaliador do PyTorch suporta treinamento distribuído em clusters de CPU e GPU usando Horovod, uma estrutura de código aberto totalmente reduzida para treinamento distribuído. Para obter exemplos e mais informações sobre como usar o PyTorch em treinamento distribuído, consulte o tutorial Treinar e registrar modelos do PyTorch em escala com o Azure Machine Learning.
Atributos
DEFAULT_VERSION
DEFAULT_VERSION = '1.4'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'PyTorch'
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de