TensorFlow Classe

Representa um avaliador para treinamento em experimentos TensorFlow.

PRETERIDO. Use o objeto ScriptRunConfig com seu próprio ambiente definido ou um dos ambientes selecionados do TensorFlow do Azure ML. Para obter uma introdução à configuração de experimentos TensorFlow executados com ScriptRunConfig, consulteTreinar modelos TensorFlow em escala com o Azure Machine Learning.

Versões com suporte: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2

Inicialize um avaliador do 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 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._FrameworkBaseEstimator
TensorFlow

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

source_directory
str
Obrigatório

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

compute_target
AbstractComputeTarget ou str
Obrigatório

O destino de computação onde o treinamento ocorrerá. Pode ser um objeto ou a cadeia de caracteres "local".

vm_size
str
Obrigatório

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
Obrigatório

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.

entry_script
str
Obrigatório

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

script_params
dict
Obrigatório

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

node_count
int
Obrigatório

O número de nós no destino de computação usado para treinamento. Apenas o destino AmlCompute tem suporte para treinamento distribuído (node_count> 1).

process_count_per_node
int
Obrigatório

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

worker_count
int
Obrigatório

Ao usar o Servidor de Parâmetros para treinamento distribuído, o número de nós de trabalho.

PRETERIDO. Especifique como parte do parâmetro distributed_training.

parameter_server_count
int
Obrigatório

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

distributed_backend
str
Obrigatório

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

PRETERIDO. Use o parâmetro distributed_training.

Valores com suporte: 'mpi' e 'ps'. 'mpi' representa MPI/Horovod e 'ps' representa o Servidor de Parâmetros.

Esse parâmetro é necessário quando qualquer um de 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 seja definido explicitamente. Apenas o destino AmlCompute tem suporte para treinamento distribuído.

distributed_training
ParameterServer ou Mpi
Obrigatório

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

Para executar um trabalho distribuído com o back-end do Servidor de Parâmetros, use o objeto ParameterServer para especificar worker_count e parameter_server_count. A soma do e dos parâmetros worker_count e parameter_server_count deve 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 de MPI, use o objetoMpi para especificar process_count_per_node.

use_gpu
bool
Obrigatório

Especifica se o ambiente para executar o experimento deve dar suporte a GPUs. Se True, uma imagem padrão do Docker 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
Obrigatório

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

custom_docker_base_image
str
Obrigatório

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
Obrigatório

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.

image_registry_details
ContainerRegistry
Obrigatório

Os detalhes do registro de imagem do Docker.

user_managed
bool
Obrigatório

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
Obrigatório

Uma lista de cadeia de caracteres representando pacotes conda a serem adicionados ao ambiente do Python para o experimento.

pip_packages
list
Obrigatório

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
Obrigatório

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á pacotes relacionados à estrutura. PRETERIDO. Use o parâmetro conda_dependencies_file.

pip_requirements_file_path
str
Obrigatório

Uma cadeia de caracteres que representa 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
Obrigatório

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á pacotes relacionados à estrutura.

pip_requirements_file
str
Obrigatório

Uma cadeia de caracteres que representa 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
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
Environment
Obrigatório

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 nessas combinações inválidas.

inputs
list
Obrigatório

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

source_directory_data_store
Datastore
Obrigatório

O armazenamento de dados de suporte para compartilhamento de projeto.

shm_size
str
Obrigatório

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
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
int
Obrigatório

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
Obrigatório

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

source_directory
str
Obrigatório

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

compute_target
AbstractComputeTarget ou str
Obrigatório

O destino de computação onde o treinamento ocorrerá. Pode ser um objeto ou a cadeia de caracteres "local".

vm_size
str
Obrigatório

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
Obrigatório

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.

entry_script
str
Obrigatório

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

script_params
dict
Obrigatório

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

node_count
int
Obrigatório

O número de nós no destino de computação usado para treinamento. Apenas o destino AmlCompute tem suporte para treinamento distribuído (node_count> 1).

process_count_per_node
int
Obrigatório

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

worker_count
int
Obrigatório

Ao usar o Servidor de Parâmetros, o número de nós de trabalho.

PRETERIDO. Especifique como parte do parâmetro distributed_training.

parameter_server_count
int
Obrigatório

Ao usar o Servidor de Parâmetros, o número de nós de servidor de parâmetros.

distributed_backend
str
Obrigatório

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

PRETERIDO. Use o parâmetro distributed_training.

Valores com suporte: 'mpi' e 'ps'. 'mpi' representa MPI/Horovod e 'ps' representa o Servidor de Parâmetros.

Esse parâmetro é necessário quando qualquer um de 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 seja definido explicitamente. Apenas o destino AmlCompute tem suporte para treinamento distribuído. há suporte para treinamento distribuído.

distributed_training
ParameterServer ou Mpi
Obrigatório

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

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

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

use_gpu
bool
Obrigatório

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 padrão do Docker (CPU ou GPU) serão usadas somente se custom_docker_image o parâmetro não estiver definido. Essa configuração é usada apenas em destinos de computação habilitados para Docker.

use_docker
bool
Obrigatório

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

custom_docker_base_image
str
Obrigatório

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
Obrigatório

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.

image_registry_details
ContainerRegistry
Obrigatório

Os detalhes do registro de imagem do Docker.

user_managed
bool
Obrigatório

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
Obrigatório

Uma lista de cadeia de caracteres representando pacotes conda a serem adicionados ao ambiente do Python para o experimento.

pip_packages
list
Obrigatório

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
Obrigatório

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
Obrigatório

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.

environment_variables
dict
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.

conda_dependencies_file
str
Obrigatório

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á pacotes relacionados à estrutura.

pip_requirements_file
str
Obrigatório

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
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
Environment
Obrigatório

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 nessas combinações inválidas.

inputs
list
Obrigatório

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

source_directory_data_store
str
Obrigatório

O armazenamento de dados de suporte para compartilhamento de projeto.

shm_size
Obrigató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
str
Obrigatório

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

_enable_optimized_mode
bool
Obrigatório

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

_disable_validation
bool
Obrigatório

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

_show_lint_warnings
bool
Obrigatório

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

_show_package_warnings
bool
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 o script em um ambiente de conda em um contêiner do Docker. Os contêineres do TensorFlow têm as dependências a seguir instaladas.

Dependencies | 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 (GPU image only) | 9.0 | 10.0 | 10.0 | cuDNN (GPU image only) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (GPU image only) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Latest | Latest | Latest | azureml-dataset-runtime[fuse,pandas] | Latest | Latest | Latest | 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 do Docker v2 estendem o Ubuntu 18.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 contêineres do Docker usados no treinamento do TensorFlow, consulte https://github.com/Azure/AzureML-Containers.

A classe TensorFlow dá suporte a dois métodos de treinamento distribuído:

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

Atributos

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'