PyTorch Classe
Representa um avaliador para preparação em experimentações do PyTorch.
PRETERIDO. Utilize o objeto com o ScriptRunConfig seu próprio ambiente definido ou um dos ambientes organizados pelo Azure ML PyTorch. Para obter uma introdução à configuração de execuções de experimentações do PyTorch com ScriptRunConfig, veja Train PyTorch models at scale with Azure Machine Learning (Preparar modelos PyTorch em escala com o Azure Machine Learning).
Versões suportadas: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6
Inicializar um avaliador do 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 ficheiros de modelo a partir dos quais pretende retomar a experimentação. :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 tempo do que este 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 ficheiros de configuração de experimentação.
- compute_target
- AbstractComputeTarget ou str
O destino de computação onde a preparação vai acontecer. Pode ser um objeto ou a cadeia "local".
- vm_size
- str
O tamanho da VM do destino de computação que será criado para a preparação. Valores suportados: qualquer tamanho de VM do Azure.
- vm_priority
- str
A prioridade da VM do destino de computação que será criado para a preparação. Se não for especificado, é utilizado "dedicado".
Valores suportados: "dedicado" e "lowpriority".
Isto só entra em vigor quando o vm_size param
é especificado na entrada.
- script_params
- dict
Um dicionário de argumentos da linha de comandos para passar para o script de preparação especificado em entry_script
.
- node_count
- int
O número de nós no destino de computação utilizado para a preparação. Se for superior a 1, será executada uma tarefa distribuída por MPI. Apenas o AmlCompute destino é suportado para tarefas distribuídas.
- process_count_per_node
- int
O número de processos por nó. Se for superior a 1, será executada uma tarefa distribuída por MPI. Apenas o AmlCompute destino é suportado para tarefas distribuídas.
- distributed_backend
- str
O back-end de comunicação para formação distribuída.
PRETERIDO. Utilize o distributed_training
parâmetro .
Valores suportados: "mpi", "gloo" e "nccl".
'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training
Este parâmetro é necessário quando node_count
ou process_count_per_node
> 1.
Quando node_count
== 1 e process_count_per_node
== 1, não será utilizado nenhum back-end, a menos que o back-end esteja explicitamente definido. Apenas o AmlCompute destino é suportado para preparação distribuída.
Parâmetros para executar uma tarefa de preparação distribuída.
Para executar uma tarefa distribuída com back-end MPI, utilize Mpi o objeto para especificar process_count_per_node
.
Para executar uma tarefa distribuída com o back-end gloo, utilize Gloo.
Para executar uma tarefa distribuída com back-end nccl, utilize Nccl.
- use_gpu
- bool
Especifica se o ambiente para executar a experimentação deve suportar GPUs.
Se for verdade, será utilizada uma imagem predefinida do Docker baseada em GPU no ambiente. Se for falso, será utilizada uma imagem baseada na CPU. As imagens predefinidas do docker (CPU ou GPU) só serão utilizadas se o custom_docker_image
parâmetro não estiver definido. Esta definição é utilizada apenas em destinos de computação ativados pelo Docker.
- use_docker
- bool
Especifica se o ambiente para executar a experimentação deve ser baseado no Docker.
- custom_docker_base_image
- str
Será criado o nome da imagem do Docker a partir da qual será criada a imagem a utilizar para preparação.
PRETERIDO. Utilize o custom_docker_image
parâmetro .
Se não estiver definida, será utilizada uma imagem baseada na CPU predefinida como imagem base.
- custom_docker_image
- str
Será criado o nome da imagem do Docker a partir da qual será criada a imagem a utilizar para preparação. Se não estiver definida, será utilizada uma imagem baseada na CPU predefinida como imagem base.
- user_managed
- bool
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 de conda.
- conda_packages
- list
Uma lista de cadeias que representam pacotes conda a serem adicionados ao ambiente python para a experimentação.
- pip_packages
- list
Uma lista de cadeias que representam pacotes pip a serem adicionados ao ambiente python para a experimentação.
- conda_dependencies_file_path
- str
O caminho relativo para o ficheiro yaml de dependências de conda.
Se especificado, o Azure ML não instalará pacotes relacionados com a arquitetura.
PRETERIDO. Utilize o conda_dependencies_file
parâmetro .
- pip_requirements_file_path
- str
O caminho relativo para o ficheiro de texto dos requisitos do pip.
Isto pode ser fornecido em combinação com o pip_packages
parâmetro.
PRETERIDO. Utilize o pip_requirements_file
parâmetro .
- conda_dependencies_file
- str
O caminho relativo para o ficheiro yaml de dependências de conda. Se especificado, o Azure ML não instalará pacotes relacionados com a arquitetura.
- pip_requirements_file
- str
O caminho relativo para o ficheiro de texto dos requisitos do pip.
Isto pode ser fornecido em combinação com o pip_packages
parâmetro.
- environment_variables
- dict
Um dicionário de nomes e valores de variáveis de ambiente. Estas variáveis de ambiente são definidas no processo em que o script de utilizador está a ser executado.
- environment_definition
- Environment
A definição de ambiente para a experimentação. Inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente através de outros parâmetros para a construção do Avaliador pode ser definida com este parâmetro. Se este parâmetro for especificado, terá precedência sobre outros parâmetros relacionados com o ambiente, como use_gpu
, custom_docker_image
, conda_packages
ou pip_packages
.
Os erros serão comunicados em combinações inválidas de parâmetros.
- inputs
- list
Uma lista de DataReference objetos ou DatasetConsumptionConfig para utilizar como entrada.
- source_directory_data_store
- Datastore
O arquivo de dados de cópia de segurança da partilha de projetos.
- shm_size
- str
O tamanho do bloco de memória partilhado do contentor do Docker. Se não estiver definido, é utilizada a azureml.core.environment._DEFAULT_SHM_SIZE predefinida. Para obter mais informações, veja Referência de execução do Docker.
- resume_from
- DataPath
O caminho de dados que contém o ponto de verificação ou os ficheiros de modelo a partir dos quais pretende retomar a experimentação.
- 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 tempo do que este valor.
- framework_version
- str
A versão do PyTorch a ser utilizada para executar o código de preparação.
PyTorch.get_supported_versions()
devolve uma lista das versões suportadas pelo SDK atual.
- source_directory
- str
Um diretório local que contém ficheiros de configuração de experimentação.
- compute_target
- AbstractComputeTarget ou str
O destino de computação onde a preparação vai acontecer. Pode ser um objeto ou a cadeia "local".
- vm_size
- str
O tamanho da VM do destino de computação que será criado para a preparação. Valores suportados: qualquer tamanho de VM do Azure.
- vm_priority
- str
A prioridade da VM do destino de computação que será criado para a preparação. Se não for especificado, será utilizado "dedicado".
Valores suportados: "dedicado" e "lowpriority".
Esta ação só entra em vigor quando o vm_size param
é especificado na entrada.
- script_params
- dict
Um dicionário de argumentos da linha de comandos para passar para o script de preparação especificado em entry_script
.
- node_count
- int
O número de nós no destino de computação utilizado para a preparação. Se for superior a 1, a tarefa distribuída por mpi será executada. Apenas o destino azureml.core.compute.AmlCompute é suportado para tarefas distribuídas.
- process_count_per_node
- int
O número de processos por nó. Se for superior a 1, será executada uma tarefa distribuída por MPI. Apenas o AmlCompute destino é suportado para tarefas distribuídas.
- distributed_backend
- str
O back-end de comunicação para preparação distribuída.
PRETERIDO. Utilize o distributed_training
parâmetro .
Valores suportados: "mpi", "gloo" e "nccl".
'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training
Este parâmetro é necessário quando node_count
ou process_count_per_node
> 1.
Quando node_count
== 1 e process_count_per_node
== 1, não será utilizado nenhum back-end, a menos que o back-end esteja explicitamente definido. Apenas o AmlCompute destino é suportado para preparação distribuída.
Parâmetros para executar uma tarefa de preparação distribuída.
Para executar uma tarefa distribuída com o back-end MPI, utilize o Mpi objeto para especificar process_count_per_node
.
Para executar uma tarefa distribuída com o back-end gloo, utilize Gloo.
Para executar uma tarefa distribuída com o back-end nccl, utilize Nccl.
- use_gpu
- bool
Especifica se o ambiente para executar a experimentação deve suportar GPUs.
Se for verdadeiro, será utilizada uma imagem predefinida do Docker baseada em GPU no ambiente. Se for falso, será utilizada uma imagem baseada na CPU. As imagens do Docker predefinidas (CPU ou GPU) só serão utilizadas se o custom_docker_image
parâmetro não estiver definido. Esta definição é utilizada apenas em destinos de computação compatíveis com o Docker.
- use_docker
- bool
Especifica se o ambiente para executar a experimentação deve ser baseado no Docker.
- custom_docker_base_image
- str
O nome da imagem do Docker a partir da qual será criada a imagem a utilizar para preparação.
PRETERIDO. Utilize o custom_docker_image
parâmetro .
Se não for definida, será utilizada uma imagem baseada na CPU predefinida como imagem de base.
- custom_docker_image
- str
O nome da imagem do Docker a partir da qual será criada a imagem a utilizar para preparação. Se não for definida, será utilizada uma imagem baseada na CPU predefinida como imagem de base.
- user_managed
- bool
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 conda.
- conda_packages
- list
Uma lista de cadeias que representam pacotes conda a serem adicionados ao ambiente Python para a experimentação.
- pip_packages
- list
Uma lista de cadeias que representam pacotes pip a serem adicionados ao ambiente Python para a experimentação.
- conda_dependencies_file_path
- str
O caminho relativo para o ficheiro yaml de dependências conda. Se for especificado, o Azure ML não instalará quaisquer pacotes relacionados com a arquitetura.
PRETERIDO. Utilize o conda_dependencies_file
parâmetro .
- pip_requirements_file_path
- str
O caminho relativo para o ficheiro de texto dos requisitos do pip.
Isto pode ser fornecido em combinação com o pip_packages
parâmetro .
PRETERIDO. Utilize o pip_requirements_file
parâmetro .
- conda_dependencies_file
- str
O caminho relativo para o ficheiro yaml de dependências conda. Se for especificado, o Azure ML não instalará quaisquer pacotes relacionados com a arquitetura.
- pip_requirements_file
- str
O caminho relativo para o ficheiro de texto dos requisitos do pip.
Isto pode ser fornecido em combinação com o pip_packages
parâmetro .
- environment_variables
- dict
Um dicionário de nomes e valores de variáveis de ambiente. Estas variáveis de ambiente são definidas no processo em que o script de utilizador está a ser executado.
- environment_definition
- Environment
A definição de ambiente para a experimentação. Inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente através de outros parâmetros para a construção do Avaliador pode ser definida com este parâmetro. Se este parâmetro for especificado, terá precedência sobre outros parâmetros relacionados com o ambiente, como use_gpu
, custom_docker_image
, conda_packages
ou pip_packages
.
Os erros serão comunicados em combinações inválidas.
- inputs
- list
Uma lista de azureml.data.data_reference. Objetos DataReference a utilizar como entrada.
- source_directory_data_store
- Datastore
O arquivo de dados de cópia de segurança da partilha de projetos.
- shm_size
O tamanho do bloco de memória partilhada do contentor do Docker. Se não estiver definido, é utilizada a azureml.core.environment._DEFAULT_SHM_SIZE predefinida. Para obter mais informações, veja
- framework_version
- str
A versão do PyTorch a ser utilizada para executar o código de preparação.
PyTorch.get_supported_versions()
devolve uma lista das versões suportadas pelo SDK atual.
- _enable_optimized_mode
- bool
Ative a compilação incremental do ambiente com imagens de arquitetura pré-criadas para uma preparação mais rápida do ambiente. Uma imagem de estrutura pré-criada baseia-se nas imagens base da CPU/GPU predefinidas do Azure ML com dependências de arquitetura pré-instaladas.
- _disable_validation
- bool
Desative a validação do script antes da submissão da execução. A predefinição é Verdadeiro.
- _show_package_warnings
- bool
Mostrar avisos de validação de pacotes. A predefinição é Falso.
Observações
Ao submeter uma tarefa de preparação, o Azure ML executa o script num ambiente conda num contentor do Docker. Os contentores 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 (apenas imagem de GPU) | 10.0 | 10.1 | cuDNN (apenas imagem gpu) | 7.6.3 | 7.6.3 | NCCL (apenas 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 | futuro | 0.17.1 | 0.17.1 |
As imagens do Docker expandem o Ubuntu 16.04.
Para instalar dependências adicionais, pode utilizar o pip_packages
parâmetro ou conda_packages
. Em alternativa, pode especificar o pip_requirements_file
parâmetro ou conda_dependencies_file
.
Em alternativa, pode criar a sua própria imagem e transmitir o custom_docker_image
parâmetro ao construtor do avaliador.
Para obter mais informações sobre os contentores do Docker utilizados na preparação do PyTorch, consulte https://github.com/Azure/AzureML-Containers.
O avaliador do PyTorch suporta a preparação distribuída em clusters de CPU e GPU com o Horovod, uma arquitetura open source e todas as estruturas de redução para preparação distribuída. Para obter exemplos e mais informações sobre como utilizar o PyTorch na preparação distribuída, veja o tutorial Preparar e registar modelos 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.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários