Partilhar via


TensorFlow Classe

Representa um estimador para treinamento em experimentos TensorFlow.

PRETERIDO. Use o ScriptRunConfig objeto com seu próprio ambiente definido ou um dos ambientes curados do TensorFlow do Azure ML. Para obter uma introdução à configuração do experimento TensorFlow executado com ScriptRunConfig, consulte Treinar modelos do TensorFlow em escala com o Azure Machine Learning.

Versões suportadas: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2

Inicialize um estimador TensorFlow.

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 a partir 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 este valor.

Construtor

TensorFlow(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, worker_count=1, parameter_server_count=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

Name Description
source_directory
Necessário
str

Um diretório local contendo arquivos de configuração de experimento.

compute_target
Necessário

O alvo de computação onde o treinamento acontecerá. Isso pode ser um objeto ou a cadeia de caracteres "local".

vm_size
Necessário
str

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

vm_priority
Necessário
str

A prioridade VM do destino de computação que será criado para o treinamento. Se não for especificado, utiliza-se «dedicado».

Valores suportados: 'dedicado' e 'baixa prioridade'.

Isso entra em vigor somente quando o vm_size param é especificado na entrada.

entry_script
Necessário
str

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

script_params
Necessário

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

node_count
Necessário
int

O número de nós no destino de computação usado para treinamento. Apenas o objetivo é apoiado para a AmlCompute formação distribuída (node_count> 1).

process_count_per_node
Necessário
int

Ao usar o MPI, o número de processos por nó.

worker_count
Necessário
int

Ao usar o Parameter Server para treinamento distribuído, o número de nós de trabalho.

PRETERIDO. Especifique como parte do distributed_training parâmetro.

parameter_server_count
Necessário
int

Ao usar o Parameter Server para treinamento distribuído, o número de nós do servidor de parâmetros.

distributed_backend
Necessário
str

O backend de comunicação para treinamento distribuído.

PRETERIDO. Use o distributed_training parâmetro.

Valores suportados: 'mpi' e 'ps'. 'mpi' representa MPI/Horovod e 'ps' representa Parameter Server.

Este parâmetro é necessário quando qualquer um dos node_count, process_count_per_node, worker_count, ou parameter_server_count> 1. No caso de 'ps', a soma de worker_count e parameter_server_count deve ser menor ou igual a node_count * (número de CPUs ou GPUs por nó)

Quando node_count == 1 e process_count_per_node == 1, nenhum back-end será usado a menos que o back-end esteja explicitamente definido. Apenas o alvo é suportado AmlCompute para formação distribuída.

distributed_training
Necessário

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

Para executar um trabalho distribuído com back-end do Parameter Server, use o ParameterServer objeto para especificar worker_count e parameter_server_count. A soma dos worker_count parâmetros e deve parameter_server_count ser menor ou igual a node_count * (o número de CPUs ou GPUs por nó).

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

use_gpu
Necessário

Especifica se o ambiente para executar o experimento deve suportar GPUs. Se true, uma imagem docker padrão baseada em GPU será usada no ambiente. Se false, uma imagem baseada em CPU será usada. As imagens docker padrão (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
Necessário

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

custom_docker_base_image
Necessário
str

O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será construída.

PRETERIDO. Use o custom_docker_image parâmetro.

Se não estiver definida, uma imagem padrão baseada em CPU será usada como imagem base.

custom_docker_image
Necessário
str

O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será construída. Se não estiver definida, uma imagem padrão baseada em CPU será usada como imagem base.

image_registry_details
Necessário

Os detalhes do registro de imagem do Docker.

user_managed
Necessário

Especifica se o Azure ML reutiliza um ambiente python existente. Se false, o Azure ML criará um ambiente Python com base na especificação de dependências conda.

conda_packages
Necessário

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

pip_packages
Necessário

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

conda_dependencies_file_path
Necessário
str

Uma cadeia de caracteres que representa o caminho relativo para o arquivo yaml de dependências conda. Se especificado, o Azure ML não instalará nenhum pacote relacionado à estrutura. PRETERIDO. Use o conda_dependencies_file parâmetro.

pip_requirements_file_path
Necessário
str

Uma cadeia de caracteres que representa o caminho relativo para o arquivo de texto de requisitos pip. Isto pode ser fornecido em combinação com o pip_packages parâmetro. PRETERIDO. Use o pip_requirements_file parâmetro.

conda_dependencies_file
Necessário
str

Uma cadeia de caracteres que representa 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
Necessário
str

Uma cadeia de caracteres que representa o caminho relativo para o arquivo de texto de requisitos pip. Isto pode ser fornecido em combinação com o pip_packages parâmetro.

environment_variables
Necessário

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

environment_definition
Necessário

A definição do ambiente para o experimento. Ele inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente através de outros parâmetros à construção do Estimador pode ser definida usando este 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 nessas combinações inválidas.

inputs
Necessário

Uma lista de DataReference ou DatasetConsumptionConfig objetos para usar como entrada.

source_directory_data_store
Necessário

O armazenamento de dados de suporte para compartilhamento de projeto.

shm_size
Necessário
str

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

resume_from
Necessário

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

max_run_duration_seconds
Necessário
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
Necessário
str

A versão do TensorFlow a ser usada para executar o código de treinamento. Se nenhuma versão for fornecida, o estimador assumirá como padrão a versão mais recente suportada pelo Azure ML. Use TensorFlow.get_supported_versions() para retornar uma lista para obter uma lista de todas as versões suportadas pelo SDK atual do Azure ML.

source_directory
Necessário
str

Um diretório local contendo arquivos de configuração de experimento.

compute_target
Necessário

O alvo de computação onde o treinamento acontecerá. Isso pode ser um objeto ou a cadeia de caracteres "local".

vm_size
Necessário
str

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

vm_priority
Necessário
str

A prioridade VM do destino de computação que será criado para o treinamento. Se não for especificado, utiliza-se «dedicado».

Valores suportados: 'dedicado' e 'baixa prioridade'.

Isso entra em vigor somente quando o vm_size param é especificado na entrada.

entry_script
Necessário
str

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

script_params
Necessário

Um dicionário de argumentos de linha de comando para passar para o script de treinamento tne especificado em entry_script.

node_count
Necessário
int

O número de nós no destino de computação usado para treinamento. Apenas o objetivo é apoiado para a AmlCompute formação distribuída (node_count> 1).

process_count_per_node
Necessário
int

Ao usar o MPI, o número de processos por nó.

worker_count
Necessário
int

Ao usar o Parameter Server, o número de nós de trabalho.

PRETERIDO. Especifique como parte do distributed_training parâmetro.

parameter_server_count
Necessário
int

Ao usar o Parameter Server, o número de nós do servidor de parâmetros.

distributed_backend
Necessário
str

O backend de comunicação para treinamento distribuído.

PRETERIDO. Use o distributed_training parâmetro.

Valores suportados: 'mpi' e 'ps'. 'mpi' representa MPI/Horovod e 'ps' representa Parameter Server.

Este parâmetro é necessário quando qualquer um dos node_count, process_count_per_node, worker_count, ou parameter_server_count> 1. No caso de 'ps', a soma de worker_count e parameter_server_count deve ser menor ou igual a node_count * (número de CPUs ou GPUs por nó)

Quando node_count == 1 e process_count_per_node == 1, nenhum back-end será usado a menos que o back-end esteja explicitamente definido. Apenas o alvo é suportado AmlCompute para formação distribuída. é suportado para formação distribuída.

distributed_training
Necessário

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

Para executar um trabalho distribuído com o back-end do Parameter Server, use ParameterServer o objeto para especificar worker_count e parameter_server_count. A soma dos worker_count parâmetros e deve parameter_server_count ser menor ou igual a node_count * (o número de CPUs ou GPUs por nó).

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

use_gpu
Necessário

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

use_docker
Necessário

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

custom_docker_base_image
Necessário
str

O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será construída.

PRETERIDO. Use o custom_docker_image parâmetro.

Se não estiver definida, uma imagem padrão baseada em CPU será usada como imagem base.

custom_docker_image
Necessário
str

O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será construída. Se não estiver definida, uma imagem padrão baseada em CPU será usada como imagem base.

image_registry_details
Necessário

Os detalhes do registro de imagem do Docker.

user_managed
Necessário

Especifica se o Azure ML reutiliza um ambiente Python existente. Se false, o Azure ML criará um ambiente Python com base na especificação de dependências conda.

conda_packages
Necessário

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

pip_packages
Necessário

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

conda_dependencies_file_path
Necessá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. PRETERIDO. Use o conda_dependencies_file parâmetro.

pip_requirements_file_path
Necessário
str

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

environment_variables
Necessário

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

conda_dependencies_file
Necessário
str

Uma cadeia de caracteres que representa 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
Necessário
str

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

environment_variables
Necessário

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

environment_definition
Necessário

A definição do ambiente para o experimento. Ele inclui PythonSection, DockerSection e variáveis de ambiente. Qualquer opção de ambiente não exposta diretamente através de outros parâmetros à construção do Estimador pode ser definida usando este 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 nessas combinações inválidas.

inputs
Necessário

Uma lista de azureml.data.data_reference. DataReference objetos para usar como entrada.

source_directory_data_store
Necessário
str

O armazenamento de dados de suporte para compartilhamento de projeto.

shm_size
Necessário

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

framework_version
Necessário
str

A versão do TensorFlow a ser usada para executar o código de treinamento. Se nenhuma versão for fornecida, o estimador assumirá como padrão a versão mais recente suportada pelo Azure ML. Use TensorFlow.get_supported_versions() para retornar uma lista para obter uma lista de todas as versões com suporte ao SDK atual do Azure ML.

_enable_optimized_mode
Necessário

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

_disable_validation
Necessário

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

_show_lint_warnings
Necessário

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

_show_package_warnings
Necessário

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

Observações

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

Dependências | TensorFlow 1.10/1.12 | TensorFlow 1,13 | TF 2.0/2.1/2.2 | ———————————— | ——————– | ————— | —————— | Python | 3.6.2 | 3.6.2 | 3.6.2 | CUDA (apenas imagem GPU) | 9,0 | 10,0 | 10,0 | cuDNN (apenas imagem GPU) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (apenas imagem GPU) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Últimas notícias | Últimas notícias | Últimas notícias | azureml-dataset-runtime[fuse,pandas] | Últimas notícias | Últimas notícias | Últimas notícias | IntelMpi | 2018.3.222 | 2018.3.222 | —- | OpenMpi | —- | —- | 3.1.2 | Horovod | 0.15.2 | 0.16.1 | 0.18.1/0.19.1/0.19.5 | Miniconda | 4.5.11 | 4.5.11 | 4.5.11 | TensorFlow | 1.10.0/1.12.0 | 1.13.1 | 2.0.0/2.1.0/2.2.0 | Git | 2.7.4 | 2.7.4 | 2.7.4 |

As imagens do Docker v1 estendem o Ubuntu 16.04. As imagens v2 Docker estendem o Ubuntu 18.04.

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

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

A classe TensorFlow suporta dois métodos de treinamento distribuído:

Para obter exemplos e mais informações sobre como usar o TensorFlow em treinamento distribuído, consulte o tutorial Treinar e registrar modelos do TensorFlow em escala com o Azure Machine Learning.

Atributos

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'