Compartir a través de


Solución de problemas de entorno

En este artículo, aprenderá a solucionar problemas comunes que pueden surgir con compilaciones de imágenes de entorno y obtener información sobre las vulnerabilidades del entorno de AzureML.

Estamos buscando sus comentarios. Si ha navegado a esta página a través de los registros de definición de entorno o análisis de errores de compilación, nos gustaría saber si la característica le resulta útil o si desea notificar un escenario de error que aún no está cubierto por nuestro análisis. También puede dejar comentarios sobre esta documentación. Deje sus pensamientos aquí.

Acerca de los entornos de Azure Machine Learning

Los entornos de Azure Machine Learning son una encapsulación del entorno en el que se produce el entrenamiento de aprendizaje automático. Especifican los paquetes, las variables de entorno y la configuración de software de Python en torno a los scripts de entrenamiento y puntuación. Los entornos son recursos administradas y con control de versiones en el área de trabajo de Machine Learning que permiten flujos de trabajo de aprendizaje automático reproducibles, auditables y portátiles en distintos destinos de proceso.

Tipos de entornos

Los entornos se dividen en tres categorías: mantenidos, administrados por el usuario y administrados por el sistema.

Los entornos mantenidos son entornos creados previamente administrados por Azure Machine Learning (Azure Machine Learning) y están disponibles de forma predeterminada en todas las áreas de trabajo. Contienen colecciones de paquetes y configuraciones de Python que le ayudarán a empezar a usar diferentes marcos de aprendizaje automático, y están concebidos para usarse tal cual. Estos entornos creados previamente también permiten un tiempo de implementación más rápido.

Para los entornos administrados por usuarios, es responsable de configurar el entorno e instalar todos los paquetes que necesita el script de entrenamiento en el destino de proceso. Asegúrese también de incluir las dependencias necesarias para realizar la implementación del modelo.

Estos tipos de entornos tienen dos subtipos. Para el primer tipo, BYOC (traiga su propio contenedor), trae una imagen de Docker existente a Azure Machine Learning. En el segundo tipo, los entornos basados en contextos de compilación de Docker, Azure Machine Learning materializa la imagen a partir del contexto que proporciona.

Use entornos administrados por el sistema cuando quiera que Conda administre el entorno de Python. Azure Machine Learning crea un nuevo entorno de conda aislado al materializar su especificación de conda sobre una imagen base de Docker. De forma predeterminada, Azure Machine Learning agrega características comunes a la imagen derivada. Los paquetes de Python presentes en la imagen base no están disponibles en el entorno de Conda aislado.

Creación y administración de entornos

Puede crear y administrar entornos desde clientes como el SDK de Python de Azure Machine Learning, la CLI de Azure Machine Learning, la interfaz de usuario de Azure Machine Learning, la extensión de Visual Studio Code.

Los entornos "anónimos" se registran automáticamente en el área de trabajo al enviar un experimento sin registrar o hacer referencia a un entorno ya existente. No se muestran, pero puede recuperarlos por versión o etiqueta.

Azure Machine Learning compila definiciones de entorno en imágenes de Docker. También almacena en caché las imágenes de Azure Container Registry asociados al área de trabajo de Azure Machine Learning para que se puedan reutilizar en trabajos de entrenamiento e implementaciones de puntos de conexión de servicio posteriores. Varios entornos con la misma definición pueden dar lugar a la misma imagen almacenada en caché.

La ejecución de un script de entrenamiento remoto requiere la creación de una imagen Docker.

Vulnerabilidades en entornos de AzureML

Puede solucionar las vulnerabilidades mediante la actualización a una versión más reciente de una dependencia (imagen base, paquete de Python, etc.) o mediante la migración a una dependencia diferente que cumpla los requisitos de seguridad. Mitigar las vulnerabilidades requiere mucho tiempo y es costoso, ya que puede requerir la refactorización del código y la infraestructura. Con la prevalencia del software de código abierto y el uso de dependencias anidadas complicadas, es importante administrar las vulnerabilidades y realizar un seguimiento de las mismas.

Hay algunas maneras de reducir el impacto de las vulnerabilidades:

  • Reducir el número de dependencias: use el conjunto mínimo de dependencias para cada escenario.
  • Compartimente su entorno para que pueda definir y corregir problemas en un solo lugar.
  • Comprender las vulnerabilidades marcadas y su relevancia para el escenario.

Análisis de vulnerabilidades

Puede supervisar y mantener la protección del entorno con Microsoft Defender para Container Registry para ayudar a examinar las imágenes en busca de vulnerabilidades.

Para automatizar este proceso basado en desencadenadores de Microsoft Defender, consulte Automatización de respuestas a desencadenadores de Microsoft Defender for Cloud.

Vulnerabilidades frente a reproducibilidad

La reproducibilidad es uno de los fundamentos del desarrollo de software. Al desarrollar código de producción, una operación repetida debe garantizar el mismo resultado. La mitigación de vulnerabilidades puede interrumpir la reproducibilidad cambiando las dependencias.

El objetivo principal de Azure Machine Learning es garantizar la reproducibilidad. Los entornos se dividen en tres categorías: mantenidos, administrados por el usuario y administrados por el sistema.

Entornos mantenidos

Los entornos mantenidos son entornos creados previamente que Azure Machine Learning administra y que están disponibles de forma predeterminada en cada área de trabajo aprovisionada de Azure Machine Learning. Azure Machine Learning publica nuevas versiones para abordar las vulnerabilidades. El uso de la imagen más reciente puede ser un equilibrio entre la reproducibilidad y la administración de vulnerabilidades.

Los entornos mantenidos contienen colecciones de paquetes de Python y configuraciones que le ayudarán a empezar a usar diferentes marcos de aprendizaje automático. Está pensado para que los use tal cual. Estos entornos creados previamente también permiten un tiempo de implementación más rápido.

Entornos administrados por el usuario

Para los entornos administrados por el usuario, usted es el responsable de configurar el entorno e instalar todos los paquetes que el script de entrenamiento necesita en el destino de proceso y para la implementación del modelo. Estos tipos de entornos tienen dos subtipos:

  • BYOC (bring your own container): el usuario proporciona una imagen de Docker a Azure Machine Learning.
  • Contexto de compilación de Docker: Azure Machine Learning materializa la imagen del contenido proporcionado por el usuario.

Una vez que instale más dependencias sobre las imágenes proporcionadas por Microsoft o incorpore sus propias imágenes base, la administración de vulnerabilidades pasa a ser su responsabilidad.

Entornos administrados por el sistema

Use entornos administrados por el sistema cuando quiera que Conda administre el entorno de Python. Azure Machine Learning crea un nuevo entorno de conda aislado al materializar su especificación de conda sobre una imagen base de Docker. Aunque Azure Machine Learning revisa las imágenes base con cada versión, el uso de la imagen más reciente puede ser un equilibrio entre reproducibilidad y administración de vulnerabilidades. Por lo tanto, es responsabilidad del usuario elegir la versión del entorno que se usa para los trabajos o las implementaciones de modelos mientras utiliza entornos administrados por el sistema.

Vulnerabilidades: problemas comunes

Vulnerabilidades en imágenes base de Docker

Las vulnerabilidades del sistema en un entorno suelen introducirse a partir de la imagen base. Por ejemplo, las vulnerabilidades marcadas como "Ubuntu" o "Debian" proceden del nivel de sistema del entorno: la imagen base de Docker. Si la imagen base procede de un emisor de terceros, compruebe si la versión más reciente tiene correcciones para las vulnerabilidades marcadas. Los orígenes más comunes para las imágenes base en Azure Machine Learning son:

  • Registro de artefactos Microsoft (MAR) también conocido como Microsoft Container Registry (mcr.microsoft.com).
    • Las imágenes se pueden mostrar desde la página principal de MAR, llamar a la API de catálogo o /tags/list
    • Las notas de la versión y de origen para entrenar imágenes base de AzureML se pueden encontrar en Azure/AzureML-Containers
  • Nvidia (nvcr.io o perfil de Nvidia)

Si la versión más reciente de la imagen base no resuelve las vulnerabilidades, las vulnerabilidades de imagen base se pueden solucionar mediante la instalación de versiones recomendadas por un examen de vulnerabilidad:

apt-get install -y library_name

Vulnerabilidades en paquetes de Python

Las vulnerabilidades también pueden provenir de paquetes de Python instalados sobre la imagen base administrada por el sistema. Estas vulnerabilidades relacionadas con Python deben resolverse actualizando las dependencias de Python. Las vulnerabilidades de Python (pip) en la imagen suelen provenir de dependencias definidas por el usuario.

Para buscar soluciones y vulnerabilidades conocidas de Python, consulte Base de datos de asesoramiento de GitHub. Para solucionar las vulnerabilidades de Python, actualice el paquete a la versión que tiene correcciones para el problema marcado:

pip install -u my_package=={good.version}

Si usa un entorno de Conda, actualice la referencia en el archivo de dependencias de Conda.

En algunos casos, los paquetes de Python se instalarán automáticamente durante la configuración del entorno de Conda sobre una imagen base de Docker. Los pasos de mitigación para aquellos paquetes son los mismos que los de aquellos introducidos por el usuario. Conda instala las dependencias necesarias para cada entorno que materializa. Paquetes como criptografía, setuptools, wheel, etc., se instalarán automáticamente desde los canales predeterminados de Conda. Hay un problema conocido con el canal predeterminado Anaconda que no incluye las versiones más recientes del paquete, por lo que se recomienda priorizar el canal conda-forge mantenido por la comunidad. De lo contrario, especifique explícitamente paquetes y versiones, incluso si no hace referencia a ellos en el código que planea ejecutar en ese entorno.

Problemas de memoria caché

Hay una instancia de Azure Container Registry asociada al área de trabajo de Azure Machine Learning. Dicha instancia se usa como caché para las imágenes de contenedor. Cualquier imagen materializada se inserta en el registro de contenedor y se usa si se desencadena la experimentación o la implementación para el entorno correspondiente. Azure Machine Learning no elimina imágenes del registro de contenedor y es responsabilidad del usuario evaluar qué imágenes necesita mantener a lo largo del tiempo.

Solución de problemas en las compilaciones de imágenes de entorno

Aprenda a solucionar problemas con las compilaciones de imágenes del entorno y las instalaciones de paquetes.

Problemas de definición del entorno

Problemas de nombre del entorno

Prefijo mantenido no permitido.

Este problema se puede producir cuando el nombre del entorno personalizado usa términos reservados solo para entornos mantenidos. Los entornos mantenidos son entornos que Microsoft mantiene. Los entornos personalizados son entornos que el usuario crea y mantiene.

Causas posibles:

  • El nombre del entorno empieza por Microsoft o AzureML.

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Actualice el nombre del entorno para excluir el prefijo reservado que se está usando actualmente.

Recursos

El nombre del entorno es demasiado largo.

Causas posibles:

  • El nombre del entorno tiene más de 255 caracteres.

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Actualice el nombre del entorno para que tenga 255 caracteres o menos.

Problemas de Docker

SE APLICA A: Extensión de ML de la CLI de Azure v1

SE APLICA A: Azure ML del SDK de Python v1

Para crear un nuevo entorno, debe usar uno de los métodos siguientes (consulte DockerSection):

  • Imagen base
    • Proporcione el nombre de la imagen base, el repositorio desde el que se va a extraer y las credenciales si es necesario.
    • Proporcionar una especificación de Conda
  • Dockerfile base
    • Proporcionar un Dockerfile
    • Proporcionar una especificación de Conda
  • Contexto de compilación de Docker
    • Proporcione la ubicación del contexto de compilación (URL)
    • El contexto de compilación debe contener al menos un Dockerfile, pero también puede contener otros archivos.

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

Para crear un nuevo entorno, debe usar uno de los métodos siguientes:

  • Imagen de Docker
    • Proporcione el URI de la imagen hospedada en un registro como Docker Hub o Azure Container Registry.
    • Vea aquí un ejemplo
  • Contexto de compilación de Docker
    • Especifique el directorio que va a actuar como contexto de compilación.
    • El directorio debe contener un documento Dockerfile y cualquier otro archivo necesario para compilar la imagen.
    • Vea aquí un ejemplo
  • Especificación de Conda
    • Debes especificar una imagen base de Docker para el entorno; Azure Machine Learning crea el entorno de conda sobre la imagen de Docker proporcionada
    • Proporcione la ruta de acceso relativa al archivo conda.
    • Vea aquí un ejemplo

Falta definición de Docker.

SE APLICA A: Azure ML del SDK de Python v1

Este problema puede producirse cuando en la definición del entorno falta DockerSection. En esta sección se configuran las opciones relacionadas con la imagen final de Docker creada a partir de la especificación del entorno.

Causas posibles:

  • No especificó la DockerSection en la definición del entorno.

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Agregue una DockerSection a la definición del entorno, especificando una imagen base, un archivo de Docker base o un contexto de compilación de Docker.

from azureml.core import Environment
myenv = Environment(name="myenv")
# Specify docker steps as a string.
dockerfile = r'''
FROM mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
RUN echo "Hello from custom container!"
'''

myenv.docker.base_dockerfile = dockerfile

Recursos

Demasiadas opciones de Docker.

Causas posibles:

SE APLICA A: Azure ML del SDK de Python v1

Tiene más de una de estas opciones de Docker especificadas en la definición del entorno.

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

Tiene más de una de estas opciones de Docker especificadas en la definición del entorno.

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Elija la opción de Docker que desea usar para compilar el entorno. A continuación, establezca todas las demás opciones especificadas en Ninguno.

SE APLICA A: Azure ML del SDK de Python v1

from azureml.core import Environment
myenv = Environment(name="myEnv")
dockerfile = r'''
FROM mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
RUN echo "Hello from custom container!"
'''
myenv.docker.base_dockerfile = dockerfile
myenv.docker.base_image = "pytorch/pytorch:latest"

# Having both base dockerfile and base image set will cause failure. Delete the one you won't use.
myenv.docker.base_image = None

Falta la opción Docker.

Causas posibles:

No especificó una de las siguientes opciones en la definición del entorno.

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

No especificó una de las siguientes opciones en la definición del entorno.

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Elija la opción de Docker que desea usar para compilar el entorno y, a continuación, rellene esa opción en la definición del entorno.

SE APLICA A: Azure ML del SDK de Python v1

from azureml.core import Environment
myenv = Environment(name="myEnv")
myenv.docker.base_image = "pytorch/pytorch:latest"

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

env_docker_image = Environment(
    image="pytorch/pytorch:latest",
    name="docker-image-example",
    description="Environment created from a Docker image.",
)
ml_client.environments.create_or_update(env_docker_image)

Recursos

Faltan credenciales del registro de contenedor o contraseña.

Causas posibles:

  • Ha especificado un nombre de usuario o una contraseña para el registro de contenedor en la definición del entorno, pero no ambos

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Agregue el nombre de usuario o la contraseña que faltan a la definición del entorno para corregir el problema

myEnv.docker.base_image_registry.username = "username"

Como alternativa, proporcione autenticación a través de conexiones del área de trabajo

from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

Cree una conexión de área de trabajo a partir de un archivo de especificación de YAML.

az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace

Nota

  • Ya no se admite proporcionar credenciales en la definición del entorno. En su lugar, use conexiones de área de trabajo.

Recursos

Varias credenciales para el registro de imágenes base.

Causas posibles:

  • Ha especificado más de un conjunto de credenciales para el registro de imágenes base

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Si usa conexiones del área de trabajo, vea las conexiones que ha establecido y elimine las que no quiera usar

from azureml.core import Workspace
ws = Workspace.from_config()
ws.list_connections()
ws.delete_connection("myConnection2")

Si ha especificado credenciales en la definición del entorno, elija un conjunto de credenciales que se van a usar y establezca todos los demás en NULL

myEnv.docker.base_image_registry.registry_identity = None

Nota

  • Ya no se admite proporcionar credenciales en la definición del entorno. En su lugar, use conexiones de área de trabajo.

Recursos

Secretos en el registro de imágenes base.

Causas posibles:

  • Ha especificado credenciales en la definición del entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Ya no se admite la especificación de credenciales en la definición del entorno. Elimine las credenciales de la definición del entorno y use las conexiones del área de trabajo en su lugar.

SE APLICA A: Azure ML del SDK de Python v1

Establecimiento de una conexión de área de trabajo en el área de trabajo

from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

Cree una conexión de área de trabajo a partir de un archivo de especificación de YAML.

az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace

Recursos

Atributo Docker en desuso.

Causas posibles:

  • Ha especificado atributos de Docker en la definición de entorno que ahora están en desuso
  • Las siguientes propiedades están en desuso:
    • enabled
    • arguments
    • shared_volumes
    • gpu_support
      • Azure Machine Learning detecta y usa automáticamente la extensión de Docker de NVIDIA cuando está disponible.
    • smh_size

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

En lugar de especificar estos atributos en el DockerSection de la definición del entorno, use DockerConfiguration

Recursos

Longitud de Dockerfile por encima del límite.

Causas posibles:

  • Su Dockerfile especificado excedió el tamaño máximo de 100 KB

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Acorte su Dockerfile para que esté por debajo de este límite

Recursos

Problemas de contexto de compilación de Docker

Falta la ubicación del contexto de compilación de Docker.

Causas posibles:

  • No proporcionó la ruta de acceso del directorio de contexto de compilación en la definición del entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Incluya una ruta de acceso en el build_context de su DockerSection

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

Asegúrese de incluir una ruta de acceso para el contexto de compilación

Recursos

Falta la ruta de acceso de Dockerfile.

Este problema puede ocurrir cuando Azure Machine Learning no puede encontrar su Dockerfile. De forma predeterminada, Azure Machine Learning buscará un Dockerfile denominado "Dockerfile" en la raíz del directorio de contexto de compilación a menos que se especifique una ruta de acceso de Dockerfile.

Causas posibles:

  • El Dockerfile no está en la raíz del directorio de contexto de compilación o tiene un nombre distinto de "Dockerfile" y no proporcionó su ruta de acceso

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

En el build_context de su DockerSection, incluya un dockerfile_path

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

Especificación de una ruta de acceso de Dockerfile

Recursos

No se permite especificar el atributo con el contexto de compilación de Docker.

Este problema puede producirse cuando se han especificado propiedades en la definición de entorno que no se pueden incluir con un contexto de compilación de Docker.

Causas posibles:

  • Ha especificado un contexto de compilación de Docker, junto con al menos uno de las siguientes propiedades en la definición del entorno:
    • Variables de entorno
    • Dependencias de Conda.
    • R
    • Spark

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Si se especifica alguna de las propiedades enumeradas anteriormente en la definición del entorno, quítelas

  • Si usa un contexto de compilación de Docker y quiere especificar dependencias de Conda, la especificación de Conda debe residir en el directorio de contexto de compilación

Recursos

Tipo de ubicación no admitido/Tipo de ubicación desconocido.

Causas posibles:

  • Ha especificado un tipo de ubicación para el contexto de compilación de Docker que no se admite o que no es desconocido

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Los siguientes son tipos de ubicación aceptados:

Recursos

Ubicación no válida.

Causas posibles:

  • La ubicación especificada del contexto de compilación de Docker no es válida

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Para escenarios en los que almacena el contexto de compilación de Docker en una cuenta de almacenamiento

  • Debe especificar la ruta de acceso del contexto de compilación como

    https://<storage-account>.blob.core.windows.net/<container>/<path>

  • Asegúrese de que la ubicación proporcionada es una dirección URL válida

  • Asegúrese de que ha especificado un contenedor y una ruta de acceso

Recursos

Problemas de imagen base

La imagen base está en desuso.

Causas posibles:

  • Ha usado una imagen base en desuso
    • Azure Machine Learning no puede proporcionar compatibilidad con la solución de problemas de compilaciones con errores con imágenes en desuso
    • Azure Machine Learning no actualiza ni mantiene estas imágenes, por lo que están en riesgo de vulnerabilidades.

Las siguientes imágenes base están en desuso:

  • azureml/base
  • azureml/base-gpu
  • azureml/base-lite
  • azureml/intelmpi2018.3-cuda10.0-cudnn7-ubuntu16.04
  • azureml/intelmpi2018.3-cuda9.0-cudnn7-ubuntu16.04
  • azureml/intelmpi2018.3-ubuntu16.04
  • azureml/o16n-base/python-slim
  • azureml/openmpi3.1.2-cuda10.0-cudnn7-ubuntu16.04
  • azureml/openmpi3.1.2-ubuntu16.04
  • azureml/openmpi3.1.2-cuda10.0-cudnn7-ubuntu18.04
  • azureml/openmpi3.1.2-cuda10.1-cudnn7-ubuntu18.04
  • azureml/openmpi3.1.2-cuda10.2-cudnn7-ubuntu18.04
  • azureml/openmpi3.1.2-cuda10.2-cudnn8-ubuntu18.04
  • azureml/openmpi3.1.2-ubuntu18.04
  • azureml/openmpi4.1.0-cuda11.0.3-cudnn8-ubuntu18.04
  • azureml/openmpi4.1.0-cuda11.1-cudnn8-ubuntu18.04

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Actualización de la imagen base a una versión más reciente de imágenes compatibles

Sin etiqueta o resumen.

Causas posibles:

  • No ha incluido una etiqueta de versión ni un resumen en la imagen base especificada
  • Sin uno de estos especificadores, el entorno no es reproducible

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Incluya al menos uno de los siguientes especificadores en la imagen base

Incidencia de variables de entorno

Variables en tiempo de ejecución mal colocadas.

Causas posibles:

  • Ha especificado variables de tiempo de ejecución en la definición de su entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Use el environment_variables atributo en el objeto RunConfiguration en su lugar.

Problemas de Python

Falta la sección de Python.

Causas posibles:

  • Su definición de entorno no tiene una sección Python

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Rellene la sección de Python de su definición de entorno

Falta la versión de Python.

Causas posibles:

  • No ha especificado una versión de Python en la definición del entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Añada Python como paquete de Conda y especifique la versión

from azureml.core.environment import CondaDependencies

myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

Si usa YAML para la especificación de Conda, incluya Python como una dependencia

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - azureml-defaults
channels:
  - anaconda

Varias versiones de Python

Causas posibles:

  • Ha especificado más de una versión de Python en la definición del entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Elija la versión de Python que quiera usar y quite todas las demás versiones

myenv.python.conda_dependencies.remove_conda_package("python=3.8")

Si usa YAML para la especificación de Conda, incluya solo una versión de Python como dependencia

Versión de Python no compatible.

Causas posibles:

  • Ha especificado una versión de Python que está al final o cerca del final de su vida útil y ya no recibe soporte

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Especifique una versión de Python que no haya alcanzado ni esté próxima al final de su vida útil

Causas posibles:

  • Ha especificado una versión de Python que está al final o cerca del final de su vida útil

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Especifique una versión de Python que no haya alcanzado ni esté próxima al final de su vida útil

No se pudo validar la versión de Python.

Causas posibles:

  • Especificó una versión de Python con sintaxis incorrecta o formato incorrecto.

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Uso de la sintaxis correcta para especificar una versión de Python mediante el SDK

myenv.python.conda_dependencies.add_conda_package("python=3.8")

Uso de la sintaxis correcta para especificar una versión de Python en un YAML de Conda

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - azureml-defaults
channels:
  - anaconda

Recursos

Problemas de Conda

Faltan dependencias de Conda.

Causas posibles:

  • No ha proporcionado una especificación de Conda en la definición del entorno y user_managed_dependencies está establecido en False (el valor predeterminado)

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Si no quiere que Azure Machine Learning cree un entorno de Python para usted basado en conda_dependencies, establezca user_managed_dependencies en True

env.python.user_managed_dependencies = True
  • Usted es responsable de garantizar que todos los paquetes necesarios estén disponibles en el entorno de Python en el que decida ejecutar el script

Si quiere que Azure Machine Learning cree un entorno de Python en función de una especificación de Conda, conda_dependencies debe rellenarse en la definición del entorno

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

Debes especificar una imagen base de Docker para el entorno y, a continuación, Azure Machine Learning creará el entorno conda sobre esa imagen

Recursos

Dependencias de Conda no válidas.

Causas posibles:

  • Las dependencias de Conda especificadas en la definición del entorno no tienen el formato correcto

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

SE APLICA A: Azure ML del SDK de Python v1

Asegúrese de que conda_dependencies es una versión adaptada a JSON de la estructura YAML de dependencias de Conda

"condaDependencies": {
    "channels": [
    "anaconda",
        "conda-forge"
    ],
    "dependencies": [
        "python=3.8",
        {
            "pip": [
                "azureml-defaults"
            ]
        }
    ],
    "name": "project_environment"
}

También puede especificar dependencias de Conda mediante el método add_conda_package.

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

Debes especificar una imagen base de Docker para el entorno y, a continuación, Azure Machine Learning creará el entorno conda sobre esa imagen

Faltan canales de Conda.

Causas posibles:

  • No ha especificado canales de Conda en la definición del entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Para la reproducibilidad del entorno, especifique los canales desde los que se van a extraer dependencias. Si no especifica canales de Conda, Conda usa los valores predeterminados que podrían cambiar.

SE APLICA A: Azure ML del SDK de Python v1

Adición de un canal de Conda mediante el SDK de Python

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
conda_dep = CondaDependencies()
conda_dep.add_channel("conda-forge")
env.python.conda_dependencies = conda_dep

Si usa YAML para la especificación de Conda, incluya los canales de Conda que desea usar

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - azureml-defaults
channels:
  - anaconda
  - conda-forge

Recursos

Causas posibles:

  • Ha especificado un entorno de Conda base en la definición del entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Las actualizaciones parciales del entorno pueden provocar conflictos de dependencia o errores inesperados en tiempo de ejecución, por lo que no se recomienda el uso de entornos de Conda base.

SE APLICA A: Azure ML del SDK de Python v1

Elimine su entorno base de Conda, y especifique todos los paquetes necesarios para su entorno en la sección conda_dependencies de su definición de entorno

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
env.python.base_conda_environment = None
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

Definición de un entorno mediante un archivo de configuración YAML de Conda estándar

Recursos

Dependencias desancladas.

Causas posibles:

  • No especificó versiones para determinados paquetes en la especificación de Conda

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Si no se especifica una versión de dependencia, el solucionador de paquetes de Conda puede elegir una versión diferente del paquete en compilaciones posteriores del mismo entorno. Esto interrumpe la reproducibilidad del entorno y puede provocar errores inesperados.

SE APLICA A: Azure ML del SDK de Python v1

Incluya números de versión cuando añada paquetes a su especificación de Conda

from azureml.core.environment import CondaDependencies

conda_dep = CondaDependencies()
conda_dep.add_conda_package("numpy==1.24.1")

Si usa un código YAML para la especificación de Conda, especifique las versiones de las dependencias

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - numpy=1.24.1
channels:
  - anaconda
  - conda-forge

Recursos

Problemas de PIP

Pip no especificado.

Causas posibles:

  • No especificó pip como una dependencia en la especificación de Conda

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Para la reproducibilidad, debe especificar y anclar pip como una dependencia en la especificación de Conda.

SE APLICA A: Azure ML del SDK de Python v1

Especifique pip como dependencia, junto con su versión

env.python.conda_dependencies.add_conda_package("pip==22.3.1")

Si está usando un YAML para su especificación de Conda, especifique pip como dependencia

name: project_environment
dependencies:
  - python=3.8
  - pip=22.3.1
  - pip:
      - numpy=1.24.1
channels:
  - anaconda
  - conda-forge

Recursos

Pip no anclado.

Causas posibles:

  • No especificó una versión para pip en la especificación de Conda

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Si no se especifica una versión de pip, se puede usar una versión diferente en compilaciones posteriores del mismo entorno. Este comportamiento puede provocar problemas de reproducibilidad y otros errores inesperados si diferentes versiones de pip resuelven los paquetes de forma diferente.

SE APLICA A: Azure ML del SDK de Python v1

Especificación de una versión de pip en las dependencias de Conda

env.python.conda_dependencies.add_conda_package("pip==22.3.1")

Si usa un YAML para la especificación de Conda, especifique una versión para pip

name: project_environment
dependencies:
  - python=3.8
  - pip=22.3.1
  - pip:
      - numpy=1.24.1
channels:
  - anaconda
  - conda-forge

Recursos

Problemas de entorno varios

La sección de R está en desuso.

Causas posibles:

  • Ha especificado una sección de R en la definición del entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

El SDK de Azure Machine Learning para R quedó obsoleto a finales de 2021 para dar paso a una experiencia mejorada de entrenamiento e implementación de R usando la CLI de Azure v2

SE APLICA A: Azure ML del SDK de Python v1

Elimine la sección R de su definición de entorno

env.r = None

Consulte el repositorio de ejemplos para empezar a entrenar modelos de R mediante la CLI de Azure v2

No existe ninguna definición para el entorno

Causas posibles:

  • Ha especificado un entorno que no existe o no ha sido registrado
  • Había un error ortográfico o sintáctico en la forma en que especificó su nombre de entorno o versión de entorno

Áreas afectadas (síntomas):

  • Error al registrar el entorno

Pasos para solucionar problemas

Asegúrese de especificar el nombre del entorno correctamente, junto con la versión correcta

  • path-to-resource:version-number

Debe especificar la versión "más reciente" del entorno de una manera diferente.

  • path-to-resource@latest

Problemas de compilación de imágenes

Problemas de ACR

ACR inaccesible.

Este problema se produce si no se puede acceder al recurso de Azure Container Registry (ACR) asociado de un área de trabajo.

Causas posibles:

  • La instancia de ACR del área de trabajo está detrás de una red virtual (VNet) (punto de conexión privado o punto de conexión de servicio) y no se usa ningún clúster de proceso para crear imágenes.
  • La instancia de ACR del área de trabajo está detrás de una red virtual (punto de conexión privado o punto de conexión de servicio) y el clúster de proceso usado para crear las imágenes no tiene acceso a la instancia de ACR del área de trabajo.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.
  • Errores de trabajo de canalización.
  • Errores de implementación de modelo.

Pasos para solucionar problemas

  • Compruebe que la red virtual del clúster de proceso tiene acceso a ACR del área de trabajo.
  • Asegúrese de que el clúster de proceso está basado en CPU.

Nota:

  • Solo se admiten clústeres de proceso de Azure Machine Learning. No se admiten Compute, Azure Kubernetes Service (AKS) ni otros tipos de instancia en el proceso de creación de imágenes.

Recursos

Formato inesperado de Dockerfile

Este problema puede producirse cuando el Dockerfile tiene un formato incorrecto.

Causas posibles:

  • El Dockerfile contiene una sintaxis no válida.
  • El Dockerfile contiene caracteres que no son compatibles con UTF-8.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Error en la ejecución de trabajos porque creará implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que Dockerfile tenga el formato correcto y esté codificado en UTF-8.

Recursos

Problemas de extracción de Docker

No se pudo extraer la imagen de Docker.

Este problema puede producirse cuando se produce un error en una extracción de imágenes de Docker durante una compilación de imagen.

Causas posibles:

  • El nombre de la ruta de acceso al registro de contenedor es incorrecto.
  • Un registro de contenedor detrás de una red virtual está utilizando un punto de conexión privado de una región no admitida.
  • La imagen a la que intenta hacer referencia no existe en el registro de contenedor que especificó
  • No ha proporcionado credenciales para un registro privado desde el que intenta extraer la imagen o las credenciales proporcionadas son incorrectas.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Compruebe que el nombre de la ruta de acceso al registro de contenedor es correcto.

Si el registro de contenedor está detrás de una red virtual o está utilizando un punto de conexión privado de una región no admitida

  • Configure el registro de contenedor mediante el punto de conexión de servicio (acceso público) desde el portal y vuelva a intentarlo.
  • Después de colocar el registro de contenedor detrás de una red virtual, ejecute la plantilla de Azure Resource Manager para que el área de trabajo pueda comunicarse con la instancia del registro de contenedor

Si la imagen a la que intenta hacer referencia no existe en el registro de contenedor que especificó

  • Compruebe que se usa la etiqueta correcta y que user_managed_dependencies está establecida en True. Al establecer user_managed_dependencies en True se deshabilita Conda y se utilizan los paquetes instalados por el usuario.

Si no ha proporcionado credenciales para un registro privado desde el que se intenta la extracción o las credenciales proporcionadas son incorrectas.

Recursos

Error de E/S

Este problema puede producirse cuando se produce un error en una extracción de imágenes de Docker debido a una incidencia en la red.

Causas posibles:

  • Problema de conexión de red, que podría ser temporal
  • El firewall bloquea la conexión
  • ACR es inaccesible y hay aislamiento de red Para obtener más información, consulte el artículo sobre ACR inaccesible.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Incorporación del host a las reglas de firewall

Evalúe la configuración del área de trabajo. ¿Usa una red virtual o alguno de los recursos a los que intenta acceder durante la compilación de la imagen se encuentra detrás de una red virtual?

  • Asegúrese de que ha seguido los pasos descritos en este artículo sobre la protección de un área de trabajo con redes virtuales.
  • Azure Machine Learning requiere acceso entrante y saliente a la red pública de Internet. Si hay un problema con la configuración de la red virtual, es posible que haya un problema con el acceso a determinados repositorios necesarios durante la compilación de imágenes.

Si no usa una red virtual o si la ha configurado correctamente

  • Intente recompilar la imagen. Si el tiempo de espera se debe a un problema de red, el problema podría ser transitorio y una recompilación podría corregir el problema.

Problemas de Conda durante la compilación

Especificación incorrecta.

Este problema puede producirse cuando un paquete que aparece en la especificación de Conda no es válido o cuando un comando de Conda se ejecuta incorrectamente.

Causas posibles:

  • La sintaxis que usó en la especificación de Conda es incorrecta
  • Está ejecutando un comando de Conda incorrectamente

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Los errores de especificación de Conda se pueden producir si el comando conda create se usa incorrectamente

  • Lea la documentación y asegúrese de que usa unas opciones y sintaxis válidas.
  • Hay una confusión conocida con respecto al uso de conda env create en comparación con el de conda create. Puede obtener más información sobre la respuesta de Conda y las soluciones conocidas de otros usuarios aquí.

Para garantizar una compilación correcta, asegúrese de que usa la sintaxis adecuada y una especificación de paquete válida en el archivo yaml de Conda.

Error de comunicaciones.

Este problema se puede dar cuando se produce un error al comunicarse con la entidad desde la que desea descargar los paquetes enumerados en la especificación de Conda.

Causas posibles:

  • No se pudo comunicar con un canal de Conda o un repositorio de paquetes
  • Estos errores pueden deberse a errores de red transitorios.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Asegúrese de que los canales o repositorios de Conda que usa en la especificación de Conda sean correctos.

  • Compruebe que existen y que los ha escrito correctamente.

Si los canales o repositorios de Conda son correctos

  • Intente recompilar la imagen; existe la posibilidad de que el error sea transitorio y que una recompilación pueda corregir el problema.
  • Compruebe que los paquetes enumerados en la especificación de Conda existen en los canales o repositorios que especificó.

Error de compilación.

Este problema puede ocurrir cuando se produce un error al compilar un paquete necesario para el entorno de Conda debido a un error del compilador.

Causas posibles:

  • Un paquete se escribió incorrectamente y, por lo tanto, no se reconoció
  • Hay algún problema con el compilador

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Si usa un compilador:

  • Asegúrese de que se reconoce el compilador que está usando.
  • Si es necesario, agregue un paso de instalación a su Dockerfile.
  • Compruebe la versión del compilador y que todos los comandos u opciones que se están usando son compatibles con la versión del compilador.
  • Si es necesario, actualice la versión del compilador.

Asegúrese de que ha escrito correctamente todos los paquetes enumerados y que ha anclado las versiones correctamente.

Recursos

Falta un comando.

Este problema puede producirse cuando un comando no se reconoce durante una compilación de imagen o en el requisito de paquete de Python especificado.

Causas posibles:

  • No escribió correctamente el comando.
  • No se puede ejecutar el comando porque no se ha instalado un paquete necesario

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que el comando está escrito correctamente.
  • Asegúrese de que ha instalado cualquier paquete necesario para ejecutar el comando que está intentando realizar.
  • Si es necesario, agregue un paso de instalación a su Dockerfile.

Recursos

Agotado tiempo de espera de Conda.

Este problema puede producirse cuando la resolución del paquete de Conda tarda demasiado tiempo en completarse.

Causas posibles:

  • Hay un gran número de paquetes enumerados en la especificación de Conda y se incluyen paquetes innecesarios.
  • No ha anclado las dependencias (ha incluido tensorflow en lugar de tensorflow=2.8).
  • Ha enumerado los paquetes para los que no hay ninguna solución (ha incluido el paquete X=1.3 e Y=2.8, pero la versión de X no es compatible con la versión de Y).

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Elimine los paquetes de la especificación de Conda que no sean necesarios.
  • Ancle los paquetes: la resolución del entorno es más rápida
  • Si sigue teniendo problemas, revise este artículo para obtener una visión detallada del conocimiento y la mejora del rendimiento de Conda.

No hay memoria suficiente

Este problema puede aparecer cuando se produce un error en la resolución del paquete de Conda debido a que se agota la memoria disponible.

Causas posibles:

  • Hay un gran número de paquetes enumerados en la especificación de Conda y se incluyen paquetes innecesarios.
  • No ha anclado las dependencias (ha incluido tensorflow en lugar de tensorflow=2.8).
  • Ha enumerado los paquetes para los que no hay ninguna solución (ha incluido el paquete X=1.3 e Y=2.8, pero la versión de X no es compatible con la versión de Y).

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Elimine los paquetes de la especificación de Conda que no sean necesarios.
  • Ancle los paquetes: la resolución del entorno es más rápida
  • Si sigue teniendo problemas, revise este artículo para obtener una visión detallada del conocimiento y la mejora del rendimiento de Conda.

No se encuentra el paquete

Este problema puede producirse si uno o varios paquetes de Conda enumerados en la especificación no se pueden encontrar en un canal o repositorio.

Causas posibles:

  • El nombre o la versión del paquete se enumeraron incorrectamente en la especificación de Conda.
  • El paquete existe en un canal de Conda que no se ha enumerado en la especificación de Conda.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que el paquete está escrito correctamente y de que existe la versión especificada.
  • Asegúrese de que el paquete existe en el canal de destino.
  • Asegúrese de que el canal o repositorio aparece en la especificación de Conda para que el paquete se pueda extraer correctamente durante la resolución del paquete.

Especifique los canales en la especificación de Conda:

channels:
  - conda-forge
  - anaconda
dependencies:
  - python=3.8
  - tensorflow=2.8
Name: my_environment

Recursos

Falta el módulo de Python.

Este problema puede producirse cuando un módulo de Python que aparece en la especificación de Conda no existe o no es válido.

Causas posibles:

  • Escribió el módulo incorrectamente.
  • El módulo no se reconoce.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que ha escrito correctamente el módulo y que existe.
  • Compruebe que el módulo es compatible con la versión de Python que ha especificado en la especificación de Conda.
  • Si no ha enumerado una versión específica de Python en la especificación de Conda, asegúrese de enumerar una versión específica compatible con el módulo; de lo contrario, puede que se use un valor predeterminado que no sea compatible.

Ancle una versión de Python compatible con el módulo PIP que usa:

channels:
  - conda-forge
  - anaconda
dependencies:
  - python=3.8
  - pip:
    - dataclasses
Name: my_environment

Sin distribución coincidente.

Este problema puede producirse cuando no se encuentra ningún paquete que coincida con la versión especificada.

Causas posibles:

  • Escribió el nombre del paquete incorrectamente.
  • El paquete y la versión no se pueden encontrar en los canales o fuentes que especificó
  • La versión especificada no existe

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que ha escrito correctamente el paquete y que existe.
  • Asegúrese de que existe la versión especificada para el paquete.
  • Asegúrese de que ha especificado el canal desde el que se instalará el paquete. Si no especifica un canal, se usarán los valores predeterminados y estos pueden tener o no el paquete que busca.

Cómo enumerar canales en una especificación de yaml de Conda:

channels:
  - conda-forge
  - anaconda
dependencies:
  - python = 3.8
  - tensorflow = 2.8
Name: my_environment

Recursos

No se puede compilar mpi4py.

Este problema puede producirse cuando se produce un error en la creación de ruedas para mpi4py.

Causas posibles:

  • No se cumplen los requisitos para una instalación correcta de mpi4py
  • Hay algún problema con el método que ha elegido para instalar mpi4py

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Asegúrese de que tiene una instalación de MPI en funcionamiento (preferencia para la compatibilidad con MPI-3 y con MPI compilado con bibliotecas compartidas o dinámicas).

Asegúrese de que usa una versión de Python compatible.

  • Se recomienda Python 3.8+ debido a que las versiones anteriores llegaron al final del ciclo de vida
  • Consulte instalación de mpi4py.

Recursos

Se intentó la autenticación interactiva.

Este problema puede producirse cuando pip intenta la autenticación interactiva durante la instalación del paquete.

Causas posibles:

  • Ha indicado un paquete que requiere autenticación, pero no ha proporcionado credenciales.
  • Durante la compilación de la imagen, pip le pidió que se autenticara, lo que produjo un error en la compilación porque usted no puede proporcionar autenticación interactiva durante una compilación.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Proporcione la autenticación a través de conexiones del área de trabajo.

SE APLICA A: Azure ML del SDK de Python v1

from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "PythonFeed", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")

SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)

Cree una conexión de área de trabajo a partir de un archivo de especificación de YAML.

az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace

Recursos

Blob prohibido.

Este problema puede producirse cuando se rechaza un intento de acceder a un blob en una cuenta de almacenamiento.

Causas posibles:

  • El método de autorización que usa para acceder a la cuenta de almacenamiento no es válido.
  • Está intentando realizar la autorización a través de una firma de acceso compartido (SAS), pero el token de SAS ha expirado o no es válido.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Lea lo siguiente para comprender cómo autorizar el acceso a datos de blobs en Azure Portal.

Lea lo siguiente para comprender cómo autorizar el acceso a datos en Azure Storage.

Lea lo siguiente si está interesado en usar SAS para acceder a recursos de Azure Storage.

Compilación horovod.

Este problema puede producirse cuando el entorno de Conda no se puede crear o actualizar porque Horovod no se pudo compilar.

Causas posibles:

  • La instalación de Horovod requiere otros módulos que no se han instalado.
  • La instalación de Horovod requiere ciertas bibliotecas que no se han incluido.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Muchos problemas podrían producir un error de Horovod. Encontrará una lista completa en la documentación de Horovod.

  • Revise la guía de solución de problemas de Horovod.
  • Revise el registro de compilación para comprobar si hay un mensaje de error que se muestra cuando no se pudo compilar Horovod.
  • Es posible que el problema esté detallado en la guía de solución de problemas de Horovod, junto con la solución correspondiente.

Recursos

No se encontró el comando Conda.

Este problema puede producirse cuando el comando conda no se reconoce durante la creación o actualización del entorno de Conda.

Causas posibles:

  • No ha instalado Conda en la imagen base que está usando
  • No ha instalado Conda mediante Dockerfile antes de intentar ejecutar el comando conda.
  • No ha incluido Conda en la ruta de acceso o no lo ha agregado a esta.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Asegúrese de que tiene un paso de instalación de Conda en Dockerfile antes de intentar ejecutar los comandos conda.

Si ha intentado instalar Conda y está experimentando este problema, asegúrese de que ha agregado conda a la ruta de acceso.

Recursos

Versión incompatible de Python.

Este problema puede producirse cuando hay un paquete especificado en el entorno de Conda que no es compatible con la versión de Python especificada.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Use otra versión del paquete que sea compatible con la versión de Python especificada.

O bien, use otra versión de Python que sea compatible con el paquete especificado.

Recursos

Redireccionamiento sin sistema operativo de Conda.

Este problema puede producirse cuando se especifica un paquete en la línea de comandos mediante "<" o ">" sin usar comillas. Esta sintaxis puede provocar un error en la creación o actualización del entorno de Conda.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Adición de comillas en torno a la especificación del paquete.

  • Por ejemplo, cambie conda install -y pip<=20.1.1 a conda install -y "pip<=20.1.1".

Error de descodificación UTF-8

Este problema puede producirse cuando se produce un error al descodificar un carácter en la especificación de Conda. 

Causas posibles:

  • El archivo YAML de Conda contiene caracteres que no son compatibles con UTF-8.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Problemas de PIP durante la compilación

No se pudieron instalar paquetes.

Este problema puede producirse cuando se produce un error en la compilación de la imagen durante la instalación del paquete de Python.

Causas posibles:

  • Existen diversos problemas que pueden producir este error.
  • Este mensaje es genérico y se muestra cuando el error todavía no está incluido en el análisis de Azure Machine Learning.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Revise el registro de compilación para más información sobre el error de compilación de la imagen.

Proporcione comentarios para que el equipo de Azure Machine Learning analice el error que está experimentando.

No se puede desinstalar el paquete.

Esto puede ocurrir cuando pip no puede desinstalar un paquete de Python que instaló el administrador de paquetes del sistema operativo.

Causas posibles:

  • Un problema de PIP existente o una versión de PIP problemática
  • Un problema derivado de no usar un entorno aislado

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Lea lo siguiente y determine si el error se debe a un problema de PIP existente.

Pruebe lo siguiente

pip install --ignore-installed [package]

Intente crear un entorno independiente mediante Conda.

Operador no válido

Este problema puede producirse cuando PIP no puede instalar un paquete de Python debido a un operador no válido encontrado en el requisito.

Causas posibles:

  • Se ha encontrado un operador no válido en el requisito del paquete de Python.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que el paquete está escrito correctamente y de que existe la versión especificada.
  • Asegúrese de que el especificador de versión del paquete tiene el formato correcto y de que usa operadores de comparación válidos. Consulte Especificadores de versión.
  • Reemplace el operador no válido por el operador recomendado en el mensaje de error.

Sin distribución coincidente.

Este problema puede producirse cuando no se encuentra ningún paquete que coincida con la versión especificada.

Causas posibles:

  • Escribió el nombre del paquete incorrectamente.
  • El paquete y la versión no se pueden encontrar en los canales o fuentes que especificó
  • La versión especificada no existe

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que ha escrito correctamente el paquete y que existe.
  • Asegúrese de que existe la versión especificada para el paquete.
  • Ejecute pip install --upgrade pip y vuelva a ejecutar el comando original.
  • Asegúrese de que el PIP que usa puede instalar paquetes para la versión de Python deseada. Consulte ¿Debo usar PIP o PIP3?

Recursos

Nombre de archivo de paquete wheel no válido

Este problema puede ocurrir cuando se ha especificado un archivo wheel incorrectamente.

Causas posibles:

  • Escribió el nombre de archivo de wheel incorrectamente o usó un formato incorrecto
  • No se encuentra el archivo de wheel que especificó

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Problemas con Make

No se especifica ningún destino y no se encuentra ningún archivo Make

Este problema puede producirse cuando no se han especificado destinos y no se encuentra ningún archivo Make al ejecutar make.

Causas posibles:

  • El archivo Make no existe en el directorio actual
  • No se especifica ningún destino

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que ha escrito correctamente el archivo Make.
  • Asegúrese de que el archivo Make existe en el directorio actual.
  • Si tiene un archivo Make personalizado, especifíquelo mediante make -f custommakefile
  • Especifique destinos en el archivo Make o en la línea de comandos
  • Configuración de la compilación y generación de un archivo Make
  • Asegúrese de que ha formateado el archivo Make correctamente y de que ha usado pestañas para la sangría.

Recursos

Problemas de copia

Archivo no encontrado

Este problema puede ocurrir cuando Docker no puede encontrar y copiar un archivo.

Causas posibles:

  • Archivo de origen no encontrado en el contexto de compilación de Docker
  • Archivo de origen excluido por .dockerignore

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Error en la ejecución de trabajos porque creará implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que el archivo de origen exista en el contexto de compilación de Docker.
  • Asegúrese de que las rutas de origen y de destino existan y estén escritas correctamente.
  • Asegúrese de que el archivo de origen no aparezca en el .dockerignore de los directorios actuales y primarios.
  • Quitar los comentarios finales de la misma línea que el comando COPY

Recursos

Problemas de Apt-Get

No se pudo ejecutar el comando apt-get

Este problema puede ocurrir cuando se produce un error al ejecutar apt-get.

Causas posibles:

  • Problema de conexión de red, que podría ser temporal
  • Dependencias interrumpidas relacionadas con el paquete en el que se ejecuta apt-get
  • No tiene los permisos correctos para usar el comando apt-get.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Error en la ejecución de trabajos porque creará implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Compruebe la conexión de red y la configuración de DNS.
  • Ejecute apt-get check para comprobar si hay dependencias interrumpidas.
  • Ejecute apt-get update y vuelva a ejecutar el comando original.
  • Ejecute el comando con la marca -f, que intentará resolver el problema procedente de las dependencias interrumpidas.
  • Ejecute el comando con permisossudo, como sudo apt-get install <package-name>.

Recursos

Problemas de inserción de Docker

No se pudo almacenar la imagen de Docker

Este problema puede suceder cuando se produce un error al insertar una imagen de Docker en un registro de contenedor.

Causas posibles:

  • Se ha producido un problema transitorio con el ACR asociado al área de trabajo
  • Un registro de contenedor detrás de una red virtual está utilizando un punto de conexión privado de una región no admitida.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Vuelva a intentar la compilación del entorno si sospecha que el error se trata de un problema transitorio con el Azure Container Registry (ACR) del área de trabajo

Si el registro de contenedor está detrás de una red virtual o está utilizando un punto de conexión privado de una región no admitida

  • Configure el registro de contenedor mediante el punto de conexión de servicio (acceso público) desde el portal y vuelva a intentarlo.
  • Después de colocar el registro de contenedor detrás de una red virtual, ejecute la plantilla de Azure Resource Manager para que el área de trabajo pueda comunicarse con la instancia del registro de contenedor

Si no está usando una red virtual, o si la ha configurado correctamente, compruebe que sus credenciales son correctas para su ACR intentando una sencilla compilación local

Comando de Docker desconocido

Instrucción de Docker desconocida

Este problema puede producirse cuando Docker no reconoce una instrucción en el Dockerfile.

Causas posibles:

  • Instrucción de Docker desconocida que se usa en Dockerfile
  • El Dockerfile contiene una sintaxis no válida.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Error en la ejecución de trabajos porque creará implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que el comando de Docker sea válido y esté escrito correctamente.
  • Asegúrese de que haya un espacio entre el comando y los argumentos de Docker.
  • Asegúrese de que no haya ningún espacio en blanco innecesario en el Dockerfile.
  • Asegúrese de que Dockerfile tenga el formato correcto y esté codificado en UTF-8.

Recursos

No se encontró el comando

No se reconoce el comando

Este problema puede producirse cuando no se reconoce el comando que se ejecuta.

Causas posibles:

  • No ha instalado el comando mediante Dockerfile antes de intentar ejecutar el comando.
  • No ha incluido el comando en la ruta de acceso o no lo ha agregado a esta.

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Error en la ejecución de trabajos porque creará implícitamente el entorno en el primer paso.

Pasos de solución de problemas: asegúrese de que tiene un paso de instalación para el comando en el Dockerfile antes de intentar ejecutar el comando.

Si ha intentado instalar el comando y está experimentando este problema, asegúrese de que lo ha agregado a la ruta de acceso.

Problemas de compilación varios

Registro de compilación no disponible.

Causas posibles:

  • Azure Machine Learning no está autorizado para almacenar los registros de compilación en la cuenta de almacenamiento
  • Error transitorio al guardar los registros de compilación
  • Error del sistema antes de que se desencadene una compilación de imagen

Áreas afectadas (síntomas):

  • Compilación correcta, pero no hay registros disponibles.
  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Se produjo un error al ejecutar trabajos porque Azure Machine Learning compila implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

Una recompilación puede corregir el problema si es transitorio

Imagen no encontrada

Este problema puede producirse cuando no se encuentra la imagen base especificada.

Causas posibles:

  • Especificó la imagen incorrectamente
  • La imagen que ha especificado no existe en el registro que ha indicado

Áreas afectadas (síntomas):

  • Error al crear entornos desde la interfaz de usuario, el SDK y la CLI.
  • Error en la ejecución de trabajos porque creará implícitamente el entorno en el primer paso.

Pasos para solucionar problemas

  • Asegúrese de que la imagen base se ha escrito correctamente y tiene el formato esperado
  • Asegúrese de que la imagen base que está usando existe en el registro que ha especificado

Recursos