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.
base_image
base_dockerfile
build_context
- Consulte 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)
Tiene más de una de estas opciones de Docker especificadas en la definición del entorno.
image
build
- Consulte azure.ai.ml.entities.Environment
Á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.
base_image
base_dockerfile
build_context
- Consulte 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)
No especificó una de las siguientes opciones en la definición del entorno.
image
build
- Consulte azure.ai.ml.entities.Environment
Á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
- Consulte
DockerSection
variables en desuso
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
- Consulte los procedimientos recomendados
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
- Consulte Clase DockerBuildContext
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
- Consulte BuildContext (clase)
- Vea este ejemplo
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
- Consulte Clase DockerBuildContext
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
- Consulte BuildContext (clase)
- Vea este ejemplo
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
- Descripción del contexto de compilación
- Clase de entorno de Python SDK v1
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:
- Git
- Puede proporcionar direcciones URL de Git a Azure Machine Learning, pero aún no puede usarlas para compilar imágenes. Uso de una cuenta de almacenamiento hasta que las compilaciones tengan compatibilidad con Git
- Cuenta de almacenamiento
- Consulte esta información general de la cuenta de almacenamiento
- Consulte cómo crear una cuenta de almacenamiento
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
- Consulte las imágenes base disponibles
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
- Etiqueta de versión
- Digest
- Consulte la imagen con un identificador inmutable.
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
- Consulte la clase PythonSection
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
Recursos
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
Recursos
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
Versión de Python no recomendada.
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
- Consulte anclaje de paquetes de Conda.
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 enFalse
(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
- Proporcione la ruta de acceso relativa al archivo conda.
- Consulte cómo crear un entorno a partir de una especificación de Conda
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
- Proporcione la ruta de acceso relativa al archivo conda.
- Consulte cómo crear un entorno a partir de una especificación de Conda
Recursos
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
No se recomienda el entorno de Conda base.
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
- Consulte anclaje de paquetes de Conda.
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
- Consulte anclaje de paquetes de Conda.
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
- Consulte anclaje de paquetes de Conda.
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.
- Para un registro
my-registry.io
y una imagentest/image
con etiqueta3.2
, una ruta de acceso de imagen válida seríamy-registry.io/test/image:3.2
- Consulte la documentación de la ruta de acceso del Registro.
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 enTrue
. Al establecer user_managed_dependencies enTrue
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.
- Establecimiento de conexiones de área de trabajo para el registro de contenedor si es necesario
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
- Consulte Configuración del tráfico de red entrante y saliente para aprender a usar Azure Firewall para el área de trabajo y los recursos detrás de una VNet.
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 deconda 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.
- Consulte las especificaciones de coincidencia de paquetes y cómo crear manualmente un archivo 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).
- Consulte instalación de mpi4py.
- Si es necesario, siga estos pasos para compilar MPI.
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
- Consulte la instalación de mpi4py.
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.
- Revise esta lista de instaladores de Conda para determinar lo que necesita para su escenario.
Si ha intentado instalar Conda y está experimentando este problema, asegúrese de que ha agregado conda a la ruta de acceso.
- Revise este ejemplo para obtener instrucciones.
- Consulte cómo establecer variables de entorno en un Dockerfile.
Recursos
- Todas las distribuciones de Conda disponibles se encuentran en el repositorio de Conda.
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.
- Si va a cambiar la versión de Python, use una versión compatible y que no esté cerca del final de su vida útil.
- Consulte las fechas de finalización de la vida útil de Python.
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
aconda 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.
- No se puede desinstalar al crear una imagen de Docker
- Problema de desinstalación parcial de PIP 10
- PIP 10 ya no desinstala paquetes distutils
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
- Asegúrese de que ha escrito correctamente el nombre de archivo y de que exista
- Asegúrese de que sigue el formato de los nombres de archivo de wheel
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 permisos
sudo
, comosudo apt-get install <package-name>
.
Recursos
- Administración de paquetes con APT
- Ubuntu Apt-Get
- Qué hacer cuando se produce un error en apt-get
- Comando apt-get en Linux con ejemplos
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
- Obtención de credenciales para el ACR del área de trabajo desde el Azure Portal
- Inicie sesión en su ACR usando
docker login <myregistry.azurecr.io> -u "username" -p "password"
- Para una imagen "helloworld", pruebe la inserción en ACR mediante la ejecución de
docker push helloworld
- Consulte Inicio rápido: Compilación y ejecución de una imagen de contenedor en Azure Container Registry Tasks
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.
- Revise este ejemplo.
Si ha intentado instalar el comando y está experimentando este problema, asegúrese de que lo ha agregado a la ruta de acceso.
- Revise este ejemplo.
- Consulte cómo establecer variables de entorno en un Dockerfile.
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