Compartir a través de


TensorFlow Clase

Representa un estimador para el entrenamiento en experimentos de TensorFlow.

OBSOLESCENTE. Use el ScriptRunConfig objeto con su propio entorno definido o uno de los entornos mantenidos de TensorFlow de Azure ML. Para obtener una introducción a la configuración de ejecuciones de experimentos de TensorFlow con ScriptRunConfig, consulte Entrenamiento de modelos de TensorFlow a escala con Azure Machine Learning.

Versiones compatibles: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2

Inicialice un estimador de TensorFlow.

Referencia de ejecución de Docker. :type shm_size: str :p aram resume_from: la ruta de acceso de datos que contiene los archivos de punto de control o modelo desde los que reanudar el experimento. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: el tiempo máximo permitido para la ejecución. Azure ML intentará realizar automáticamente

cancele la ejecución si tarda más de este valor.

Constructor

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

Nombre Description
source_directory
Requerido
str

Directorio local que contiene archivos de configuración del experimento.

compute_target
Requerido

Destino de proceso donde se realizará el entrenamiento. Puede ser un objeto o la cadena "local".

vm_size
Requerido
str

Tamaño de máquina virtual del destino de proceso que se creará para el entrenamiento. Valores admitidos: cualquier tamaño de máquina virtual de Azure.

vm_priority
Requerido
str

Prioridad de máquina virtual del destino de proceso que se creará para el entrenamiento. Si no se especifica, se usa 'dedicated'.

Valores admitidos: "dedicated" y "lowpriority".

Esto solo surte efecto cuando vm_size param se especifica en la entrada.

entry_script
Requerido
str

Ruta de acceso relativa al archivo que contiene el script de entrenamiento.

script_params
Requerido

Diccionario de argumentos de línea de comandos que se van a pasar al script de entrenamiento especificado en entry_script.

node_count
Requerido
int

Número de nodos del destino de proceso que se usa para el entrenamiento. Solo se admite el AmlCompute destino para el entrenamiento distribuido (node_count> 1).

process_count_per_node
Requerido
int

Al usar MPI, el número de procesos por nodo.

worker_count
Requerido
int

Cuando se usa Parameter Server para el entrenamiento distribuido, el número de nodos de trabajo.

OBSOLESCENTE. Especifique como parte del distributed_training parámetro .

parameter_server_count
Requerido
int

Cuando se usa El servidor de parámetros para el entrenamiento distribuido, el número de nodos de servidor de parámetros.

distributed_backend
Requerido
str

Back-end de comunicación para el entrenamiento distribuido.

OBSOLESCENTE. Utilice el parámetro distributed_training.

Valores admitidos: 'mpi' y 'ps'. 'mpi' representa MPI/Horovod y 'ps' representa el servidor de parámetros.

Este parámetro es necesario cuando cualquiera de node_count, process_count_per_node, worker_counto parameter_server_count> 1. En el caso de "ps", la suma de worker_count y parameter_server_count debe ser menor o igual que node_count * (número de CPU o GPU por nodo)

Cuando node_count == 1 y process_count_per_node == 1, no se usará ningún back-end a menos que el back-end se establezca explícitamente. Solo se admite el AmlCompute destino para el entrenamiento distribuido.

distributed_training
Requerido

Parámetros para ejecutar un trabajo de entrenamiento distribuido.

Para ejecutar un trabajo distribuido con el back-end de Parameter Server, use el ParameterServer objeto para especificar worker_count y parameter_server_count. La suma de los worker_count parámetros y parameter_server_count debe ser menor o igual que node_count * (el número de CPU o GPU por nodo).

Para ejecutar un trabajo distribuido con back-end de MPI, use el Mpi objeto para especificar process_count_per_node.

use_gpu
Requerido

Especifica si el entorno para ejecutar el experimento debe admitir GPU. Si es true, se usará una imagen de Docker predeterminada basada en GPU en el entorno. Si es false, se usará una imagen basada en CPU. Las imágenes de Docker predeterminadas (CPU o GPU) solo se usarán si el custom_docker_image parámetro no está establecido. Esta configuración solo se usa en destinos de proceso habilitados para Docker.

use_docker
Requerido

Especifica si el entorno en el que se va a ejecutar el experimento debe estar basado en Docker.

custom_docker_base_image
Requerido
str

Nombre de la imagen de Docker a partir de la que se compilará la imagen que se va a usar para el entrenamiento.

OBSOLESCENTE. Utilice el parámetro custom_docker_image.

Si no se establece, se usará una imagen predeterminada basada en CPU como imagen base.

custom_docker_image
Requerido
str

Nombre de la imagen de Docker a partir de la que se compilará la imagen que se va a usar para el entrenamiento. Si no se establece, se usará una imagen predeterminada basada en CPU como imagen base.

image_registry_details
Requerido

Detalles del registro de imágenes de Docker.

user_managed
Requerido

Especifica si Azure ML reutiliza un entorno de Python existente. Si es false, Azure ML creará un entorno de Python en función de la especificación de dependencias de Conda.

conda_packages
Requerido

Lista de cadenas que representan paquetes de Conda que se van a agregar al entorno de Python para el experimento.

pip_packages
Requerido

Lista de cadenas que representan paquetes pip que se van a agregar al entorno de Python para el experimento.

conda_dependencies_file_path
Requerido
str

Cadena que representa la ruta de acceso relativa al archivo yaml de dependencias de conda. Si se especifica, Azure ML no instalará ningún paquete relacionado con el marco. OBSOLESCENTE. Utilice el parámetro conda_dependencies_file.

pip_requirements_file_path
Requerido
str

Cadena que representa la ruta de acceso relativa al archivo de texto de requisitos pip. Esto se puede proporcionar en combinación con el pip_packages parámetro . OBSOLESCENTE. Utilice el parámetro pip_requirements_file.

conda_dependencies_file
Requerido
str

Cadena que representa la ruta de acceso relativa al archivo yaml de dependencias de conda. Si se especifica, Azure ML no instalará ningún paquete relacionado con el marco.

pip_requirements_file
Requerido
str

Cadena que representa la ruta de acceso relativa al archivo de texto de requisitos pip. Esto se puede proporcionar en combinación con el pip_packages parámetro .

environment_variables
Requerido

Diccionario de nombres y valores de variables de entorno. Estas variables de entorno se establecen en el proceso en el que se ejecuta el script de usuario.

environment_definition
Requerido

Definición del entorno para el experimento. Incluye PythonSection, DockerSection y variables de entorno. Cualquier opción de entorno que no se exponga directamente a través de otros parámetros a la construcción del estimador se puede establecer mediante este parámetro. Si se especifica este parámetro, tendrá prioridad sobre otros parámetros relacionados con el entorno, como use_gpu, custom_docker_image, conda_packageso pip_packages. Los errores se notificarán en estas combinaciones no válidas.

inputs
Requerido

Lista de DataReference objetos o DatasetConsumptionConfig que se van a usar como entrada.

source_directory_data_store
Requerido

Almacén de datos de respaldo para el recurso compartido del proyecto.

shm_size
Requerido
str

Tamaño del bloque de memoria compartida del contenedor de Docker. Si no se establece, se usa el azureml.core.environment._DEFAULT_SHM_SIZE predeterminado. Para más información, consulte Referencia de ejecución de Docker.

resume_from
Requerido

Ruta de acceso de datos que contiene los archivos de punto de control o modelo desde los que reanudar el experimento.

max_run_duration_seconds
Requerido
int

Tiempo máximo permitido para la ejecución. Azure ML intentará cancelar automáticamente la ejecución si tarda más de este valor.

framework_version
Requerido
str

Versión de TensorFlow que se va a usar para ejecutar código de entrenamiento. Si no se proporciona ninguna versión, el estimador tendrá como valor predeterminado la versión más reciente compatible con Azure ML. Use TensorFlow.get_supported_versions() para devolver una lista para obtener una lista de todas las versiones compatibles con el SDK de Azure ML actual.

source_directory
Requerido
str

Directorio local que contiene archivos de configuración del experimento.

compute_target
Requerido

Destino de proceso donde se realizará el entrenamiento. Puede ser un objeto o la cadena "local".

vm_size
Requerido
str

Tamaño de máquina virtual del destino de proceso que se creará para el entrenamiento. Valores admitidos: cualquier tamaño de máquina virtual de Azure.

vm_priority
Requerido
str

Prioridad de máquina virtual del destino de proceso que se creará para el entrenamiento. Si no se especifica, se usa 'dedicated'.

Valores admitidos: "dedicated" y "lowpriority".

Esto solo surte efecto cuando vm_size param se especifica en la entrada.

entry_script
Requerido
str

Ruta de acceso relativa al archivo que contiene el script de entrenamiento.

script_params
Requerido

Diccionario de argumentos de línea de comandos para pasar al script de entrenamiento de tne especificado en entry_script.

node_count
Requerido
int

Número de nodos del destino de proceso que se usa para el entrenamiento. Solo se admite el AmlCompute destino para el entrenamiento distribuido (node_count> 1).

process_count_per_node
Requerido
int

Al usar MPI, el número de procesos por nodo.

worker_count
Requerido
int

Cuando se usa Parameter Server, el número de nodos de trabajo.

OBSOLESCENTE. Especifique como parte del distributed_training parámetro .

parameter_server_count
Requerido
int

Cuando se usa Parameter Server, el número de nodos de servidor de parámetros.

distributed_backend
Requerido
str

Back-end de comunicación para el entrenamiento distribuido.

OBSOLESCENTE. Utilice el parámetro distributed_training.

Valores admitidos: 'mpi' y 'ps'. 'mpi' representa MPI/Horovod y 'ps' representa el servidor de parámetros.

Este parámetro es necesario cuando cualquiera de node_count, process_count_per_node, worker_counto parameter_server_count> 1. En el caso de "ps", la suma de worker_count y parameter_server_count debe ser menor o igual que node_count * (número de CPU o GPU por nodo)

Cuando node_count == 1 y process_count_per_node == 1, no se usará ningún back-end a menos que el back-end se establezca explícitamente. Solo se admite el AmlCompute destino para el entrenamiento distribuido. se admite para el entrenamiento distribuido.

distributed_training
Requerido

Parámetros para ejecutar un trabajo de entrenamiento distribuido.

Para ejecutar un trabajo distribuido con el back-end del servidor de parámetros, use el ParameterServer objeto para especificar worker_count y parameter_server_count. La suma de los worker_count parámetros y parameter_server_count debe ser menor o igual que node_count * (el número de CPU o GPU por nodo).

Para ejecutar un trabajo distribuido con back-end de MPI, use el Mpi objeto para especificar process_count_per_node.

use_gpu
Requerido

Especifica si el entorno para ejecutar el experimento debe admitir GPU. Si es true, se usará una imagen de Docker predeterminada basada en GPU en el entorno. Si es false, se usará una imagen basada en CPU. Las imágenes de Docker predeterminadas (CPU o GPU) solo se usarán si custom_docker_image el parámetro no está establecido. Esta configuración solo se usa en destinos de proceso habilitados para Docker.

use_docker
Requerido

Especifica si el entorno en el que se va a ejecutar el experimento debe estar basado en Docker.

custom_docker_base_image
Requerido
str

Nombre de la imagen de Docker a partir de la que se compilará la imagen que se va a usar para el entrenamiento.

OBSOLESCENTE. Utilice el parámetro custom_docker_image.

Si no se establece, se usará una imagen predeterminada basada en CPU como imagen base.

custom_docker_image
Requerido
str

Nombre de la imagen de Docker a partir de la que se compilará la imagen que se va a usar para el entrenamiento. Si no se establece, se usará una imagen predeterminada basada en CPU como imagen base.

image_registry_details
Requerido

Detalles del registro de imágenes de Docker.

user_managed
Requerido

Especifica si Azure ML reutiliza un entorno de Python existente. Si es false, Azure ML creará un entorno de Python en función de la especificación de dependencias de Conda.

conda_packages
Requerido

Lista de cadenas que representan paquetes de Conda que se van a agregar al entorno de Python para el experimento.

pip_packages
Requerido

Lista de cadenas que representan paquetes pip que se van a agregar al entorno de Python para el experimento.

conda_dependencies_file_path
Requerido
str

Ruta de acceso relativa al archivo yaml de dependencias de conda. Si se especifica, Azure ML no instalará ningún paquete relacionado con el marco. OBSOLESCENTE. Utilice el parámetro conda_dependencies_file.

pip_requirements_file_path
Requerido
str

Ruta de acceso relativa al archivo de texto de requisitos de pip. Esto se puede proporcionar en combinación con el pip_packages parámetro . OBSOLESCENTE. Utilice el parámetro pip_requirements_file.

environment_variables
Requerido

Diccionario de nombres y valores de variables de entorno. Estas variables de entorno se establecen en el proceso en el que se ejecuta el script de usuario.

conda_dependencies_file
Requerido
str

Cadena que representa la ruta de acceso relativa al archivo yaml de dependencias de conda. Si se especifica, Azure ML no instalará ningún paquete relacionado con el marco.

pip_requirements_file
Requerido
str

Ruta de acceso relativa al archivo de texto de requisitos de pip. Esto se puede proporcionar en combinación con el pip_packages parámetro .

environment_variables
Requerido

Diccionario de nombres y valores de variables de entorno. Estas variables de entorno se establecen en el proceso en el que se ejecuta el script de usuario.

environment_definition
Requerido

Definición del entorno para el experimento. Incluye PythonSection, DockerSection y variables de entorno. Cualquier opción de entorno que no se exponga directamente a través de otros parámetros a la construcción del estimador se puede establecer mediante este parámetro. Si se especifica este parámetro, tendrá prioridad sobre otros parámetros relacionados con el entorno, como use_gpu, custom_docker_image, conda_packageso pip_packages. Los errores se notificarán en estas combinaciones no válidas.

inputs
Requerido

Lista de azureml.data.data_reference. Objetos DataReference que se van a usar como entrada.

source_directory_data_store
Requerido
str

Almacén de datos de respaldo para el recurso compartido del proyecto.

shm_size
Requerido

Tamaño del bloque de memoria compartida del contenedor de Docker. Si no se establece, el valor predeterminado es azureml.core.environment._DEFAULT_SHM_SIZE. Para obtener más información, consulta

framework_version
Requerido
str

Versión de TensorFlow que se va a usar para ejecutar código de entrenamiento. Si no se proporciona ninguna versión, el estimador tendrá como valor predeterminado la versión más reciente compatible con Azure ML. Use TensorFlow.get_supported_versions() para devolver una lista para obtener una lista de todas las versiones compatibles con el SDK de Azure ML actual.

_enable_optimized_mode
Requerido

Habilite la compilación incremental del entorno con imágenes de marco precompiladas para una preparación más rápida del entorno. Una imagen de marco precompilado se basa en imágenes base de CPU y GPU predeterminadas de Azure ML con dependencias del marco preinstaladas.

_disable_validation
Requerido

Deshabilite la validación del script antes de ejecutar el envío. El valor predeterminado es True.

_show_lint_warnings
Requerido

Mostrar advertencias de linting de script. El valor predeterminado es False.

_show_package_warnings
Requerido

Mostrar advertencias de validación de paquetes. El valor predeterminado es False.

Comentarios

Al enviar un trabajo de entrenamiento, Azure ML ejecuta el script en un entorno de Conda dentro de un contenedor de Docker. Los contenedores de TensorFlow tienen instaladas las siguientes dependencias.

Dependencias | 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 (solo imagen de GPU) | 9.0 | 10.0 | 10.0 | cuDNN (solo imagen de GPU) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (solo imagen de GPU) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Más reciente | Más reciente | Más reciente | azureml-dataset-runtime[fuse,pandas] | Más reciente | Más reciente | Más reciente | 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 |

Las imágenes de Docker v1 amplían Ubuntu 16.04. Las imágenes de Docker v2 amplían Ubuntu 18.04.

Para instalar dependencias adicionales, puede usar el pip_packages parámetro o conda_packages . O bien, puede especificar el pip_requirements_file parámetro o conda_dependencies_file . Como alternativa, puede compilar su propia imagen y pasar el custom_docker_image parámetro al constructor estimador.

Para obtener más información sobre los contenedores de Docker usados en el entrenamiento de TensorFlow, consulte https://github.com/Azure/AzureML-Containers.

La clase TensorFlow admite dos métodos de entrenamiento distribuido:

Para obtener ejemplos y más información sobre el uso de TensorFlow en el entrenamiento distribuido, consulte el tutorial Entrenamiento y registro de modelos de TensorFlow a escala con Azure Machine Learning.

Atributos

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'