TensorFlow Clase
Representa un estimador para el entrenamiento en experimentos de TensorFlow.
EN DESUSO. Use el objeto ScriptRunConfig con su propio entorno definido o uno de los entornos seleccionados 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 gran escala con Azure Machine Learning.
Versiones admitidas: 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: 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.
- Herencia
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorTensorFlow
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
- source_directory
- str
Directorio local que contiene los archivos de configuración del experimento.
- compute_target
- AbstractComputeTarget o str
Destino de proceso en el que se realizará el entrenamiento. Puede ser un objeto o la cadena "local".
- vm_size
- 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
- str
Prioridad de la máquina virtual del destino de proceso que se creará para el entrenamiento. Si no se especifica, se usa "dedicated" (dedicada).
Valores admitidos: "dedicated" (dedicada) y "lowpriority" (prioridad baja).
Esto solo tiene efecto cuando se especifica vm_size param
en la entrada.
- entry_script
- str
Ruta de acceso relativa al archivo que contiene el script de entrenamiento.
- script_params
- dict
Diccionario de argumentos de la línea de comandos que se pasan al script de entrenamiento especificado en entry_script
.
- node_count
- int
Número de nodos del destino de proceso utilizado para el entrenamiento. Solo se admite el destino AmlCompute para el entrenamiento distribuido (node_count
> 1).
- worker_count
- int
Cuando se usa el servidor de parámetros para el entrenamiento distribuido, el número de nodos de trabajo.
EN DESUSO. Se especifica como parte del parámetro distributed_training
.
- parameter_server_count
- int
Cuando se usa el servidor de parámetros para el entrenamiento distribuido, el número de nodos del servidor de parámetros.
- distributed_backend
- str
Back-end de comunicación para el entrenamiento distribuido.
EN DESUSO. Utilice el parámetro distributed_training
.
Valores admitidos: "mpi" y "ps". "mpi" representa a MPI/Horovod y "ps" representa al servidor de parámetros.
Este parámetro es necesario cuando node_count
, process_count_per_node
, worker_count
o 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 se establezca explícitamente el back-end. Solo se admite el destino AmlCompute para el entrenamiento distribuido.
- distributed_training
- ParameterServer o Mpi
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 objeto ParameterServer para especificar worker_count
y parameter_server_count
.
La suma de los parámetros worker_count
y parameter_server_count
debe ser menor o igual que node_count
* (número de CPU o GPU por nodo).
Para ejecutar un trabajo distribuido con el back-end de MPI, use el objeto Mpi para especificar process_count_per_node
.
- use_gpu
- bool
Especifica si el entorno que va a ejecutar el experimento debe admitir GPU.
Si es True, se usará en el entorno una imagen predeterminada de Docker basada en GPU. Si es False, se usará una imagen basada en CPU. Las imágenes predeterminadas de Docker (CPU o GPU) solo se usarán si el parámetro custom_docker_image
no está establecido. Esta configuración solo se usa en destinos de proceso habilitados para Docker.
- use_docker
- bool
Especifica si el entorno en el que se va a ejecutar el experimento se debe basar en Docker.
- custom_docker_base_image
- str
El nombre de la imagen de Docker a partir de la que se va a crear la imagen que se va a usar para el entrenamiento.
EN DESUSO. 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
- str
El nombre de la imagen de Docker a partir de la que se va a crear 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.
- user_managed
- bool
Especifica si Azure ML reutiliza un entorno de Python existente. Si es False, Azure ML creará un entorno de Python basado en la especificación de dependencias de Conda.
- conda_packages
- list
Lista de cadenas que representan los paquetes de Conda que se van a agregar al entorno de Python para el experimento.
- pip_packages
- list
Lista de cadenas que representan los paquetes de pip que se van a agregar al entorno de Python para el experimento.
- conda_dependencies_file_path
- 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.
EN DESUSO. Utilice el parámetro conda_dependencies_file
.
- pip_requirements_file_path
- str
Cadena que representa la ruta de acceso relativa al archivo de texto de requisitos de pip.
Se puede proporcionar en combinación con el parámetro pip_packages
.
EN DESUSO. Utilice el parámetro pip_requirements_file
.
- conda_dependencies_file
- 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
- str
Cadena que representa la ruta de acceso relativa al archivo de texto de requisitos de pip.
Se puede proporcionar en combinación con el parámetro pip_packages
.
- environment_variables
- dict
Diccionario de nombres y valores de variables de entorno. Estas variables de entorno se establecen en el proceso donde se ejecuta el script de usuario.
- environment_definition
- Environment
La definición de entorno del experimento. Incluye PythonSection, DockerSection y variables de entorno. Cualquier opción del entorno que no se exponga directamente mediante 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_packages
o pip_packages
.
Se notificarán los errores sobre estas combinaciones no válidas.
- inputs
- list
Lista de objetos DataReference o DatasetConsumptionConfig que se van a usar como entrada.
- source_directory_data_store
- Datastore
Almacén de datos de respaldo para el recurso compartido del proyecto.
- shm_size
- str
Tamaño del bloque de memoria compartida del contenedor Docker. Si no se establece, se usa el valor de azureml.core.environment._DEFAULT_SHM_SIZE predeterminado. Para más información, consulte Referencia de ejecución de Docker.
- resume_from
- DataPath
Ruta de acceso de datos que contiene el punto de control o los archivos del modelo desde los que se va a reanudar el experimento.
- max_run_duration_seconds
- int
Tiempo máximo permitido para la ejecución. Azure ML intentará cancelar automáticamente la ejecución si tarda más que este valor.
- framework_version
- str
Versión de TensorFlow que se va a usar para ejecutar el 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
- str
Directorio local que contiene los archivos de configuración del experimento.
- compute_target
- AbstractComputeTarget o str
Destino de proceso en el que se realizará el entrenamiento. Puede ser un objeto o la cadena "local".
- vm_size
- 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
- str
Prioridad de la máquina virtual del destino de proceso que se creará para el entrenamiento. Si no se especifica, se usa "dedicated" (dedicada).
Valores admitidos: "dedicated" (dedicada) y "lowpriority" (prioridad baja).
Esto solo tiene efecto cuando se especifica vm_size param
en la entrada.
- entry_script
- str
Ruta de acceso relativa al archivo que contiene el script de entrenamiento.
- script_params
- dict
Diccionario de argumentos de línea de comandos que se van a pasar al script de entrenamiento de tne especificado en entry_script
.
- node_count
- int
Número de nodos del destino de proceso utilizado para el entrenamiento. Solo se admite el destino AmlCompute para el entrenamiento distribuido (node_count
> 1).
- worker_count
- int
Al usar Parameter Server, el número de nodos de trabajo.
EN DESUSO. Se especifica como parte del parámetro distributed_training
.
- parameter_server_count
- int
Al usar Parameter Server, el número de nodos de servidor de parámetros.
- distributed_backend
- str
Back-end de comunicación para el entrenamiento distribuido.
EN DESUSO. Utilice el parámetro distributed_training
.
Valores admitidos: "mpi" y "ps". "mpi" representa a MPI/Horovod y "ps" representa al servidor de parámetros.
Este parámetro es necesario cuando node_count
, process_count_per_node
, worker_count
o 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 se establezca explícitamente el back-end. Solo se admite el destino AmlCompute para el entrenamiento distribuido.
se admite para el entrenamiento distribuido.
- distributed_training
- ParameterServer o Mpi
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 parámetros worker_count
y parameter_server_count
debe ser menor o igual que node_count
* (número de CPU o GPU por nodo).
Para ejecutar un trabajo distribuido con el back-end de MPI, use el objeto Mpi para especificar process_count_per_node
.
- use_gpu
- bool
Especifica si el entorno que va a ejecutar el experimento debe admitir GPU.
Si es True, se usará en el entorno una imagen predeterminada de Docker basada en GPU. 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
no se establece el parámetro . Esta configuración solo se usa en destinos de proceso habilitados para Docker.
- use_docker
- bool
Especifica si el entorno en el que se va a ejecutar el experimento se debe basar en Docker.
- custom_docker_base_image
- str
El nombre de la imagen de Docker a partir de la que se va a crear la imagen que se va a usar para el entrenamiento.
EN DESUSO. 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
- str
El nombre de la imagen de Docker a partir de la que se va a crear 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.
- user_managed
- bool
Especifica si Azure ML reutiliza un entorno de Python existente. Si es False, Azure ML creará un entorno de Python basado en la especificación de dependencias de Conda.
- conda_packages
- list
Lista de cadenas que representan los paquetes de Conda que se van a agregar al entorno de Python para el experimento.
- pip_packages
- list
Lista de cadenas que representan los paquetes de pip que se van a agregar al entorno de Python para el experimento.
- conda_dependencies_file_path
- 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.
EN DESUSO. Use el parámetro conda_dependencies_file
.
- pip_requirements_file_path
- str
La ruta de acceso relativa al archivo de texto de requisitos de pip.
Se puede proporcionar en combinación con el parámetro pip_packages
.
EN DESUSO. Use el parámetro pip_requirements_file
.
- environment_variables
- dict
Diccionario de nombres y valores de variables de entorno. Estas variables de entorno se establecen en el proceso donde se ejecuta el script de usuario.
- conda_dependencies_file
- 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
- str
La ruta de acceso relativa al archivo de texto de requisitos de pip.
Se puede proporcionar en combinación con el parámetro pip_packages
.
- environment_variables
Diccionario de nombres y valores de variables de entorno. Estas variables de entorno se establecen en el proceso donde se ejecuta el script de usuario.
- environment_definition
- Environment
La definición de entorno del experimento. Incluye PythonSection, DockerSection y variables de entorno. Cualquier opción del entorno que no se exponga directamente mediante 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_packages
o pip_packages
.
Se notificarán los errores sobre estas combinaciones no válidas.
- inputs
- list
Lista de azureml.data.data_reference. Objetos DataReference que se van a usar como entrada.
- source_directory_data_store
- str
Almacén de datos de respaldo para el recurso compartido del proyecto.
- shm_size
Tamaño del bloque de memoria compartida del contenedor Docker. Si no se establece, el valor predeterminado es azureml.core.environment._DEFAULT_SHM_SIZE. Para obtener más información, vea
- framework_version
- str
Versión de TensorFlow que se va a usar para ejecutar el 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
- bool
Habilite la compilación incremental del entorno con imágenes de marco pregeneradas para una preparación más rápida del entorno. Una imagen de marco pregenerada se basa en imágenes base predeterminadas de CPU y GPU de Azure ML con dependencias de marco preinstaladas.
- _disable_validation
- bool
Deshabilite la validación del script antes de ejecutar el envío. El valor predeterminado es True.
- _show_lint_warnings
- bool
Mostrar advertencias de linting de script. El valor predeterminado es False.
- _show_package_warnings
- bool
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 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 parámetro pip_packages
o conda_packages
. O bien, puede especificar el parámetro pip_requirements_file
o conda_dependencies_file
.
Como alternativa, puede crear su propia imagen y pasar el parámetro custom_docker_image
al constructor del estimador.
Para más información sobre los contenedores Docker utilizados en el entrenamiento de TensorFlow, consulte https://github.com/Azure/AzureML-Containers.
La clase TensorFlow admite dos métodos de entrenamiento distribuido:
Entrenamiento distribuido basado en MPI mediante el
marco Horovod
TensorFlow distribuido nativo
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 gran escala con Azure Machine Learning.
Atributos
DEFAULT_VERSION
DEFAULT_VERSION = '1.13'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'TensorFlow'
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: a lo largo de 2024, eliminaremos gradualmente los problemas de GitHub como mecanismo de comentarios para el contenido y lo reemplazaremos por un nuevo sistema de comentarios. Para obtener más información, consulte:Enviar y ver comentarios de