Chainer Clase

Representa un estimador para el entrenamiento en experimentos de Chainer.

EN DESUSO. Use el objeto ScriptRunConfig con su propio entorno definido o uno de los entornos seleccionados de Chainer de Azure ML. Para obtener una introducción a la configuración de ejecuciones de experimentos con ScriptRunConfig, consulte Configuración y envío de ejecuciones de entrenamiento.

Versiones admitidas: 5.1.0, 7.0.0.

Inicialice un estimador de Chainer.

Herencia
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
Chainer

Constructor

Chainer(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

Nombre Description
source_directory
Requerido
str

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

compute_target
Requerido

Destino de proceso en el que 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 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
Requerido
str

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

script_params
Requerido

Diccionario de argumentos de la línea de comandos que se pasan al script de entrenamiento especificado en entry_script.

node_count
Requerido
int

Número de nodos del destino de proceso utilizado para el entrenamiento. Si es mayor que 1, se ejecutará un trabajo distribuido de MPI. Solo se admite el destino AmlCompute para los trabajos distribuidos.

process_count_per_node
Requerido
int

número de procesos por nodo. Si es mayor que 1, se ejecutará un trabajo distribuido de MPI. Solo se admite el destino AmlCompute para los trabajos distribuidos.

distributed_backend
Requerido
str

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

EN DESUSO. Use el parámetro distributed_training.

Valores admitidos: "mpi".

"mpi": MPI/Horovod

Este parámetro es obligatorio cuando node_count o process_count_per_node> 1.

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
Requerido
Mpi

Parámetros para ejecutar un trabajo de entrenamiento distribuido.

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

use_gpu
Requerido

Especifica si el entorno que va a ejecutar el experimento debe admitir GPU. Si es true, la imagen predeterminada de Docker basada en GPU se usará en el entorno. 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
Requerido

Especifica si el entorno para ejecutar el experimento debe basarse en Docker.

custom_docker_base_image
Requerido
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
Requerido
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.

image_registry_details
Requerido

Los 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 basado en la especificación de dependencias de Conda.

conda_packages
Requerido

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

pip_packages
Requerido

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
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. EN DESUSO. Use el parámetro conda_dependencies_file.

pip_requirements_file_path
Requerido
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.

conda_dependencies_file
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.

pip_requirements_file
Requerido
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
Requerido

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
Requerido

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
Requerido

Lista de objetos DataReference 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 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
Requerido

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
Requerido
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
Requerido
str

La versión de Chainer que se usará para ejecutar el código de entrenamiento. Chainer.get_supported_versions() devuelve una lista de las versiones admitidas por el SDK actual.

source_directory
Requerido
str

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

compute_target
Requerido

Destino de proceso en el que 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 la máquina virtual del destino de proceso que se creará para el entrenamiento. Si no se especifica, el valor predeterminado será "dedicado".

Valores admitidos: "dedicated" (dedicada) y "lowpriority" (prioridad baja).

Esto solo surte efecto cuando se especifica el parámetro vm_size 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 la línea de comandos que se pasan al script de entrenamiento especificado en entry_script.

node_count
Requerido
int

Número de nodos del destino de proceso utilizado para el entrenamiento. Si es mayor que 1, se ejecutará un trabajo distribuido de MPI. Solo se admite el destino AmlCompute para los trabajos distribuidos.

process_count_per_node
Requerido
int

número de procesos por nodo. Si es mayor que 1, se ejecutará un trabajo distribuido de MPI. Solo AmlCompute se admite el destino de proceso de destino para trabajos distribuidos.

distributed_backend
Requerido
str

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

EN DESUSO. Use el parámetro distributed_training.

Valores admitidos: "mpi".

"mpi": MPI/Horovod

Este parámetro es obligatorio cuando node_count o process_count_per_node> 1.

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
Requerido
Mpi

Parámetros para ejecutar un trabajo de entrenamiento distribuido.

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

use_gpu
Requerido

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
Requerido

Especifica si el entorno para ejecutar el experimento debe basarse en Docker.

custom_docker_base_image
Requerido
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
Requerido
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.

image_registry_details
Requerido

Los 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 basado en la especificación de dependencias de Conda.

conda_packages
Requerido

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

pip_packages
Requerido

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
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. EN DESUSO. Use el parámetro conda_dependencies_file.

pip_requirements_file_path
Requerido
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.

conda_dependencies_file
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.

pip_requirements_file
Requerido
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
Requerido

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
Requerido

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
Requerido

Lista de azureml.data.data_reference. Objetos DataReference que se usarán 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 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
Requerido

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
Requerido
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
Requerido
str

La versión de Chainer que se usará para ejecutar el código de entrenamiento. Chainer.get_supported_versions() devuelve una lista de las versiones admitidas por el SDK actual.

_enable_optimized_mode
Requerido

Habilite la compilación de entorno incremental 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
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 Docker. Los contenedores de Chainer tienen instaladas las siguientes dependencias.

Dependencias | Chainer 5.1.0 | Chainer 7.0.0 | —————————- | —————– | ————— | Python | 3.6.2 | 3.6.2 | CUDA (solo imagen de GPU) | 9.0 | 9.0 | cuDNN (solo imagen de GPU) | 7.6.3 | 7.6.3 | NCCL (solo imagen de GPU) | 2.4.8 | 2.4.8 | azureml-defaults | Latest | Latest | IntelMpi | 2018.3.222 | 2018.3.222 | horovod | 0.15.2 | 0.15.2 | miniconda | 4.5.11 | 4.5.11 | chainer | 5.1.0 | 7.0.0 | cupy-cuda90 (solo imagen de GPU) | 5.2.0 | 7.0.0 | git | 2.7.4 | 2.7.4 |

Las imágenes de Docker amplían Ubuntu 16.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 de Docker usados en el entrenamiento de Chainer, consulte https://github.com/Azure/AzureML-Containers.

Atributos

DEFAULT_VERSION

DEFAULT_VERSION = '5.1.0'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'Chainer'