Solução de problemas de ambiente
APLICA-SE A:Azure CLI ml extension v1Python SDK azureml v1
Neste artigo, saiba como solucionar problemas comuns que você pode encontrar com compilações de imagem de ambiente e saiba mais sobre as vulnerabilidades do ambiente AzureML.
Estamos ativamente à procura do seu feedback! Se você navegou para esta página por meio de seus logs de Definição de Ambiente ou Análise de Falha de Compilação, gostaríamos de saber se o recurso foi útil para você ou se você gostaria de relatar um cenário de falha que ainda não foi coberto por nossa análise. Você também pode deixar comentários sobre esta documentação. Deixe aqui a sua opinião.
Ambientes do Azure Machine Learning
Os ambientes do Azure Machine Learning são um encapsulamento do ambiente onde o seu treinamento de aprendizado de máquina acontece. Eles especificam a imagem base do docker, os pacotes Python e as configurações de software em torno de seus scripts de treinamento e pontuação. Os ambientes são ativos gerenciados e versionados em seu espaço de trabalho de Aprendizado de Máquina que permitem fluxos de trabalho de aprendizado de máquina reproduzíveis, auditáveis e portáteis em vários destinos de computação.
Tipos de ambientes
Os ambientes se enquadram em três categorias: curados, gerenciados pelo usuário e gerenciados pelo sistema.
Os ambientes com curadoria são ambientes pré-criados gerenciados pelo Azure Machine Learning e estão disponíveis por padrão em todos os espaços de trabalho. Eles contêm coleções de pacotes e configurações Python para ajudá-lo a começar com várias estruturas de aprendizado de máquina, e você deve usá-las como estão. Esses ambientes pré-criados também permitem um tempo de implantação mais rápido.
Em ambientes gerenciados pelo usuário, você é responsável por configurar seu ambiente e instalar todos os pacotes de que seu script de treinamento precisa no destino de computação. Certifique-se também de incluir todas as dependências necessárias para a implantação do modelo.
Esses tipos de ambientes têm dois subtipos. Para o primeiro tipo, BYOC (traga seu próprio contêiner), você traz uma imagem existente do Docker para o Azure Machine Learning. Para o segundo tipo, Docker criar ambientes baseados em contexto, o Azure Machine Learning materializa a imagem a partir do contexto que você fornece.
Quando você quiser conda para gerenciar o ambiente Python para você, use um ambiente gerenciado pelo sistema. O Azure Machine Learning cria um novo ambiente de conda isolado materializando sua especificação de conda sobre uma imagem base do Docker. Por padrão, o Azure Machine Learning adiciona recursos comuns à imagem derivada. Todos os pacotes Python presentes na imagem base não estão disponíveis no ambiente conda isolado.
Criar e gerir ambientes
Você pode criar e gerenciar ambientes de clientes como SDK Python do Azure Machine Learning, CLI do Azure Machine Learning, interface do usuário do Azure Machine Learning Studio, extensão de código do Visual Studio.
Os ambientes "anónimos" são automaticamente registados na sua área de trabalho quando submete uma experiência sem registar ou referenciar um ambiente já existente. Eles não estão listados, mas você pode recuperá-los por versão ou rótulo.
O Azure Machine Learning cria definições de ambiente em imagens do Docker. Ele também armazena em cache as imagens no Registro de Contêiner do Azure associadas ao seu Espaço de Trabalho do Azure Machine Learning para que possam ser reutilizadas em trabalhos de treinamento subsequentes e implantações de ponto de extremidade de serviço. Vários ambientes com a mesma definição podem resultar na mesma imagem armazenada em cache.
A execução remota de um script de treinamento requer a criação de uma imagem do Docker.
Vulnerabilidades em ambientes AzureML
Você pode resolver vulnerabilidades atualizando para uma versão mais recente de uma dependência (imagem base, pacote Python, etc.) ou migrando para uma dependência diferente que satisfaça os requisitos de segurança. A mitigação de vulnerabilidades é demorada e dispendiosa, uma vez que pode exigir a refatoração de código e infraestrutura. Com a prevalência de software de código aberto e o uso de dependências aninhadas complicadas, é importante gerenciar e acompanhar as vulnerabilidades.
Existem algumas formas de diminuir o impacto das vulnerabilidades:
- Reduza o número de dependências - use o conjunto mínimo de dependências para cada cenário.
- Compartimente seu ambiente para que você possa definir o escopo e corrigir problemas em um só lugar.
- Entenda as vulnerabilidades sinalizadas e sua relevância para o seu cenário.
Verificar vulnerabilidades
Você pode monitorar e manter a higiene do ambiente com o Microsoft Defender for Container Registry para ajudar a verificar imagens em busca de vulnerabilidades.
Para automatizar esse processo com base em gatilhos do Microsoft Defender, consulte Automatizar respostas aos gatilhos do Microsoft Defender for Cloud.
Vulnerabilidades vs Reprodutibilidade
A reprodutibilidade é um dos fundamentos do desenvolvimento de software. Quando você está desenvolvendo código de produção, uma operação repetida deve garantir o mesmo resultado. A mitigação de vulnerabilidades pode interromper a reprodutibilidade alterando dependências.
O foco principal do Azure Machine Learning é garantir a reprodutibilidade. Os ambientes se enquadram em três categorias: curados, gerenciados pelo usuário e gerenciados pelo sistema.
Ambientes com curadoria
Os ambientes com curadoria são ambientes pré-criados que o Azure Machine Learning gerencia e estão disponíveis por padrão em todos os espaços de trabalho do Azure Machine Learning provisionados. Novas versões são lançadas pelo Azure Machine Learning para resolver vulnerabilidades. Se você usa a imagem mais recente pode ser uma compensação entre reprodutibilidade e gerenciamento de vulnerabilidade.
Os ambientes com curadoria contêm coleções de pacotes e configurações Python para ajudá-lo a começar com várias estruturas de aprendizado de máquina. Você deve usá-los como estão. Esses ambientes pré-criados também permitem um tempo de implantação mais rápido.
Ambientes gerenciados pelo usuário
Em ambientes gerenciados pelo usuário, você é responsável por configurar seu ambiente e instalar todos os pacotes de que seu script de treinamento precisa no destino de computação e para a implantação do modelo. Esses tipos de ambientes têm dois subtipos:
- BYOC (traga seu próprio contêiner): o usuário fornece uma imagem do Docker para o Azure Machine Learning
- Contexto de compilação do Docker: o Azure Machine Learning materializa a imagem do conteúdo fornecido pelo usuário
Depois de instalar mais dependências sobre uma imagem fornecida pela Microsoft ou trazer sua própria imagem base, o gerenciamento de vulnerabilidades se torna sua responsabilidade.
Ambientes gerenciados pelo sistema
Você usa ambientes gerenciados pelo sistema quando deseja que o conda gerencie o ambiente Python para você. O Azure Machine Learning cria um novo ambiente de conda isolado materializando sua especificação de conda sobre uma imagem base do Docker. Embora o Aprendizado de Máquina do Azure corrija imagens de base a cada versão, usar a imagem mais recente pode ser uma compensação entre a reprodutibilidade e o gerenciamento de vulnerabilidades. Portanto, é sua responsabilidade escolher a versão do ambiente usada para seus trabalhos ou implantações de modelo ao usar ambientes gerenciados pelo sistema.
Vulnerabilidades: Problemas comuns
Vulnerabilidades nas imagens do Docker Base
As vulnerabilidades do sistema em um ambiente geralmente são introduzidas a partir da imagem base. Por exemplo, as vulnerabilidades marcadas como "Ubuntu" ou "Debian" são do nível do sistema do ambiente – a imagem base do Docker. Se a imagem base for de um emissor de terceiros, verifique se a versão mais recente tem correções para as vulnerabilidades sinalizadas. As fontes mais comuns para as imagens base no Azure Machine Learning são:
- Microsoft Artifact Registry (MAR), também conhecido como Microsoft Container Registry (mcr.microsoft.com).
- As imagens podem ser listadas na página inicial do MAR, chamando a API do catálogo ou /tags/list
- As notas de origem e de versão para imagens de base de treinamento do AzureML podem ser encontradas em Azure/AzureML-Containers
- Nvidia (nvcr.io, ou Perfil da nvidia)
Se a versão mais recente da imagem base não resolver as vulnerabilidades, as vulnerabilidades da imagem base podem ser resolvidas instalando as versões recomendadas por uma verificação de vulnerabilidade:
apt-get install -y library_name
Vulnerabilidades em pacotes Python
As vulnerabilidades também podem ser de pacotes Python instalados sobre a imagem base gerenciada pelo sistema. Essas vulnerabilidades relacionadas ao Python devem ser resolvidas atualizando suas dependências do Python. As vulnerabilidades Python (pip) na imagem geralmente vêm de dependências definidas pelo usuário.
Para pesquisar vulnerabilidades e soluções conhecidas do Python, consulte GitHub Advisory Database. Para resolver vulnerabilidades do Python, atualize o pacote para a versão que tem correções para o problema sinalizado:
pip install -u my_package=={good.version}
Se você estiver usando um ambiente conda, atualize a referência no arquivo de dependências conda.
Em alguns casos, os pacotes Python serão instalados automaticamente durante a configuração do conda do seu ambiente sobre uma imagem base do Docker. As etapas de mitigação para esses são as mesmas que para pacotes introduzidos pelo usuário. O Conda instala as dependências necessárias para cada ambiente que materializa. Pacotes como criptografia, setuptools, wheel, etc. serão instalados automaticamente a partir dos canais padrão do conda. Há um problema conhecido com o canal anaconda padrão faltando versões mais recentes do pacote, por isso é recomendado priorizar o canal conda-forge mantido pela comunidade. Caso contrário, especifique explicitamente pacotes e versões, mesmo que você não faça referência a eles no código que planeja executar nesse ambiente.
Problemas de cache
Associado ao seu espaço de trabalho do Azure Machine Learning está uma instância do Registro de Contêiner do Azure que é um cache para imagens de contêiner. Qualquer imagem materializada é enviada por push para o registro do contêiner e usada se você acionar a experimentação ou a implantação para o ambiente correspondente. O Azure Machine Learning não exclui imagens do seu registro de contêiner e é sua responsabilidade avaliar quais imagens você precisa manter ao longo do tempo.
Solução de problemas de compilações de imagens de ambiente
Saiba como solucionar problemas com compilações de imagens de ambiente e instalações de pacotes.
Problemas de definição do ambiente
Problemas com o nome do ambiente
Prefixo curado não permitido
Esse problema pode acontecer quando o nome do seu ambiente personalizado usa termos reservados apenas para ambientes selecionados. Os ambientes com curadoria são ambientes que a Microsoft mantém. Ambientes personalizados são ambientes que você cria e mantém.
Possíveis causas:
- O nome do ambiente começa com Microsoft ou AzureML
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Atualize o nome do ambiente para excluir o prefixo reservado que você está usando no momento
Recursos
O nome do ambiente é muito longo
Possíveis causas:
- O nome do ambiente tem mais de 255 caracteres
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Atualize o nome do ambiente para 255 caracteres ou menos
Problemas com o Docker
APLICA-SE A: Azure CLI ml extension v1
APLICA-SE A: Python SDK azureml v1
Para criar um novo ambiente, você deve usar uma das seguintes abordagens (consulte DockerSection):
- Imagem base
- Forneça o nome da imagem base, o repositório do qual obtê-la e as credenciais, se necessário
- Fornecer uma especificação de conda
- Base Dockerfile
- Fornecer um Dockerfile
- Fornecer uma especificação de conda
- Contexto de compilação do Docker
- Forneça o local do contexto de compilação (URL)
- O contexto de compilação deve conter pelo menos um Dockerfile, mas também pode conter outros arquivos
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Para criar um novo ambiente, você deve usar uma das seguintes abordagens:
- Imagem do Docker
- Forneça o URI da imagem hospedada em um Registro, como o Docker Hub ou o Registro de Contêiner do Azure
- Amostra aqui
- Contexto de compilação do Docker
- Especifique o diretório que serve como contexto de compilação
- O diretório deve conter um Dockerfile e quaisquer outros arquivos necessários para construir a imagem
- Amostra aqui
- Especificação Conda
- Você deve especificar uma imagem base do Docker para o ambiente; O Azure Machine Learning cria o ambiente conda sobre a imagem do Docker fornecida
- Forneça o caminho relativo para o arquivo conda
- Amostra aqui
Definição do Docker ausente
APLICA-SE A: Python SDK azureml v1
Esse problema pode acontecer quando a definição de ambiente está faltando um DockerSection
arquivo . Esta seção define as configurações relacionadas à imagem final do Docker criada a partir da especificação do seu ambiente.
Possíveis causas:
- Você não especificou a
DockerSection
definição do seu ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Adicione um DockerSection
à sua definição de ambiente, especificando uma imagem base, um dockerfile base ou um contexto de compilação do 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
Muitas opções do Docker
Possíveis causas:
APLICA-SE A: Python SDK azureml v1
Você tem mais de uma dessas opções do Docker especificadas em sua definição de ambiente
base_image
base_dockerfile
build_context
- Consulte DockerSection
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Você tem mais de uma dessas opções do Docker especificadas em sua definição de ambiente
image
build
- Consulte azure.ai.ml.entities.Environment
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Escolha qual opção do Docker você gostaria de usar para criar seu ambiente. Em seguida, defina todas as outras opções especificadas como Nenhuma.
APLICA-SE A: Python SDK azureml 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
Opção Docker ausente
Possíveis causas:
Você não especificou uma das seguintes opções na definição do ambiente:
base_image
base_dockerfile
build_context
- Consulte DockerSection
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Você não especificou uma das seguintes opções na definição do ambiente:
image
build
- Consulte azure.ai.ml.entities.Environment
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Escolha qual opção do Docker você gostaria de usar para criar seu ambiente e, em seguida, preencha essa opção em sua definição de ambiente.
APLICA-SE A: Python SDK azureml v1
from azureml.core import Environment
myenv = Environment(name="myEnv")
myenv.docker.base_image = "pytorch/pytorch:latest"
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
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
Credenciais do Registro de contêiner sem nome de usuário ou senha
Possíveis causas:
- Você especificou um nome de usuário ou uma senha para o registro de contêiner na definição de ambiente, mas não ambos
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Adicione o nome de usuário ou senha ausente à sua definição de ambiente para corrigir o problema
myEnv.docker.base_image_registry.username = "username"
Como alternativa, forneça autenticação por meio de conexões de espaço de trabalho
from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")
APLICA-SE A: Azure CLI ml extension v2 (atual)
Criar uma conexão de espaço de trabalho a partir de um arquivo de especificação YAML
az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace
Nota
- Não há mais suporte para o fornecimento de credenciais na definição do ambiente. Em vez disso, use conexões de espaço de trabalho.
Recursos
Várias credenciais para o registro de imagem base
Possíveis causas:
- Você especificou mais de um conjunto de credenciais para seu registro de imagem base
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Se você estiver usando conexões de espaço de trabalho, exiba as conexões definidas e exclua a(s) qual(is) você não deseja usar
from azureml.core import Workspace
ws = Workspace.from_config()
ws.list_connections()
ws.delete_connection("myConnection2")
Se você especificou credenciais em sua definição de ambiente, escolha um conjunto de credenciais para usar e defina todas as outras como nulas
myEnv.docker.base_image_registry.registry_identity = None
Nota
- Não há mais suporte para o fornecimento de credenciais na definição do ambiente. Em vez disso, use conexões de espaço de trabalho.
Recursos
Segredos no registro de imagem base
Possíveis causas:
- Você especificou credenciais em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Não há mais suporte para a especificação de credenciais em sua definição de ambiente. Exclua as credenciais da definição de ambiente e use conexões de espaço de trabalho.
APLICA-SE A: Python SDK azureml v1
Definir uma conexão de espaço de trabalho em seu espaço de trabalho
from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")
APLICA-SE A: Azure CLI ml extension v2 (atual)
Criar uma conexão de espaço de trabalho a partir de um arquivo de especificação YAML
az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace
Recursos
Atributo Docker preterido
Possíveis causas:
- Você especificou atributos do Docker em sua definição de ambiente que agora foram preteridos
- A seguir estão as propriedades preteridas:
enabled
arguments
shared_volumes
gpu_support
- O Azure Machine Learning agora deteta e usa automaticamente a extensão NVIDIA Docker quando disponível
smh_size
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Em vez de especificar esses atributos na DockerSection
definição do seu ambiente, use DockerConfiguration
Recursos
- Ver
DockerSection
variáveis preteridas
Comprimento do Dockerfile acima do limite
Possíveis causas:
- Seu Dockerfile especificado excedeu o tamanho máximo de 100 KB
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Encurte seu Dockerfile para obtê-lo abaixo desse limite
Recursos
- Veja as melhores práticas
Problemas de contexto de compilação do Docker
Local de contexto de compilação do Docker ausente
Possíveis causas:
- Você não forneceu o caminho do diretório de contexto de compilação na definição do ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Inclua um caminho na build_context
sua DockerSection
- Consulte Classe DockerBuildContext
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Certifique-se de incluir um caminho para seu contexto de compilação
- Consulte a classe BuildContext
- Veja este exemplo
Recursos
Caminho do Dockerfile ausente
Esse problema pode acontecer quando o Aprendizado de Máquina do Azure não consegue localizar seu Dockerfile. Como padrão, o Aprendizado de Máquina do Azure procura um Dockerfile chamado 'Dockerfile' na raiz do diretório de contexto de compilação, a menos que você especifique um caminho do Dockerfile.
Possíveis causas:
- Seu Dockerfile não está na raiz do diretório de contexto de compilação e/ou é nomeado algo diferente de 'Dockerfile', e você não forneceu seu caminho
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
build_context
Na sua DockerSection, inclua umdockerfile_path
- Consulte Classe DockerBuildContext
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Especificar um caminho do Dockerfile
- Consulte a classe BuildContext
- Veja este exemplo
Recursos
Não é permitido especificar atributo com contexto de compilação do Docker
Esse problema pode acontecer quando você especificou propriedades em sua definição de ambiente que não podem ser incluídas em um contexto de compilação do Docker.
Possíveis causas:
- Você especificou um contexto de compilação do Docker, juntamente com pelo menos uma das seguintes propriedades em sua definição de ambiente:
- Variáveis de ambiente
- Dependências de Conda
- R
- Spark
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Se você especificou qualquer uma das propriedades listadas acima em sua definição de ambiente, remova-as
- Se você estiver usando um contexto de compilação do Docker e quiser especificar dependências do conda, sua especificação do conda deverá residir no diretório de contexto da compilação
Recursos
- Compreender o contexto da construção
- Python SDK v1 Environment Classe
Tipo de local não suportado/Tipo de local desconhecido
Possíveis causas:
- Você especificou um tipo de local para o contexto de compilação do Docker que não é suportado ou é desconhecido
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Os seguintes tipos de locais são aceitos:
- Git
- Você pode fornecer URLs git para o Azure Machine Learning, mas ainda não pode usá-las para criar imagens. Use uma conta de armazenamento até que as compilações tenham suporte ao Git
- Conta de armazenamento
- Veja esta visão geral da conta de armazenamento
- Veja como criar uma conta de armazenamento
Recursos
Localização inválida
Possíveis causas:
- O local especificado do contexto de compilação do Docker é inválido
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Para cenários em que você está armazenando seu contexto de compilação do Docker em uma conta de armazenamento
Você deve especificar o caminho do contexto de compilação como
https://<storage-account>.blob.core.windows.net/<container>/<path>
Certifique-se de que a localização fornecida é um URL válido
Verifique se você especificou um contêiner e um caminho
Recursos
Problemas de imagem de base
A imagem base foi preterida
Possíveis causas:
- Você usou uma imagem base preterida
- O Azure Machine Learning não pode fornecer suporte para solução de problemas para compilações com falha com imagens preteridas
- O Azure Machine Learning não atualiza nem mantém essas imagens, portanto, elas correm o risco de vulnerabilidades
As seguintes imagens base foram preteridas:
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 afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Atualize a sua imagem base para uma versão mais recente das imagens suportadas
Sem tag ou resumo
Possíveis causas:
- Você não incluiu uma tag de versão ou um resumo na imagem base especificada
- Sem um desses especificadores, o ambiente não é reproduzível
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Inclua pelo menos um dos seguintes especificadores na imagem base
- Tag de versão
- Resumo
- Ver imagem com identificador imutável
Problemas com variáveis de ambiente
Variáveis de tempo de execução mal posicionadas
Possíveis causas:
- Você especificou variáveis de tempo de execução em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Em vez disso, use o environment_variables
atributo no objeto RunConfiguration
Problemas com Python
Seção Python ausente
Possíveis causas:
- Sua definição de ambiente não tem uma seção Python
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Preencha a seção Python da sua definição de ambiente
- Consulte a classe PythonSection
Versão do Python ausente
Possíveis causas:
- Você não especificou uma versão do Python em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Adicione Python como um pacote conda e especifique a versão
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
Se você estiver usando um YAML para sua especificação conda, inclua Python como uma dependência
name: project_environment
dependencies:
- python=3.8
- pip:
- azureml-defaults
channels:
- anaconda
Recursos
Várias versões do Python
Possíveis causas:
- Você especificou mais de uma versão do Python em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Escolha qual versão do Python você deseja usar e remova todas as outras versões
myenv.python.conda_dependencies.remove_conda_package("python=3.8")
Se você estiver usando um YAML para sua especificação conda, inclua apenas uma versão do Python como dependência
Recursos
Versão Python não suportada
Possíveis causas:
- Você especificou uma versão do Python que está no fim ou perto de seu fim de vida útil e não é mais suportada
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Especifique uma versão python que não atingiu e não está perto do fim de sua vida útil
Versão Python não recomendada
Possíveis causas:
- Você especificou uma versão do Python que está no fim ou perto de seu fim de vida útil
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Especifique uma versão python que não atingiu e não está perto do fim de sua vida útil
Falha ao validar a versão do Python
Possíveis causas:
- Você especificou uma versão do Python com sintaxe incorreta ou formatação incorreta
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Use a sintaxe correta para especificar uma versão do Python usando o SDK
myenv.python.conda_dependencies.add_conda_package("python=3.8")
Use a sintaxe correta para especificar uma versão do Python em um conda YAML
name: project_environment
dependencies:
- python=3.8
- pip:
- azureml-defaults
channels:
- anaconda
Recursos
Questões Conda
Dependências de conda ausentes
Possíveis causas:
- Você não forneceu uma especificação de conda em sua definição de ambiente e
user_managed_dependencies
está definido comoFalse
(o padrão)
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Se você não quiser que o Aprendizado de Máquina do Azure crie um ambiente Python para você com base em conda_dependencies,
definir user_managed_dependencies
como True
env.python.user_managed_dependencies = True
- Você é responsável por garantir que todos os pacotes necessários estejam disponíveis no ambiente Python no qual você escolhe executar o script
Se quiser que o Azure Machine Learning crie um ambiente Python para você com base em uma especificação conda, você deve preencher conda_dependencies
sua definição de ambiente
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
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Você deve especificar uma imagem base do Docker para o ambiente e, em seguida, o Azure Machine Learning cria o ambiente conda sobre essa imagem
- Forneça o caminho relativo para o arquivo conda
- Veja como criar um ambiente a partir de uma especificação conda
Recursos
Dependências de conda inválidas
Possíveis causas:
- Você formatou incorretamente as dependências de conda especificadas em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
APLICA-SE A: Python SDK azureml v1
Certifique-se de que conda_dependencies
é uma versão JSONified da estrutura YAML de dependências de conda
"condaDependencies": {
"channels": [
"anaconda",
"conda-forge"
],
"dependencies": [
"python=3.8",
{
"pip": [
"azureml-defaults"
]
}
],
"name": "project_environment"
}
Você também pode especificar dependências conda usando o add_conda_package
método
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
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Você deve especificar uma imagem base do Docker para o ambiente e, em seguida, o Azure Machine Learning cria o ambiente conda sobre essa imagem
- Forneça o caminho relativo para o arquivo conda
- Veja como criar um ambiente a partir de uma especificação conda
Recursos
Faltam canais de conda
Possíveis causas:
- Você não especificou canais de conda em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Para a reprodutibilidade do seu ambiente, especifique os canais dos quais extrair dependências. Se você não especificar canais conda, conda usa padrões que podem mudar.
APLICA-SE A: Python SDK azureml v1
Adicionar um canal conda usando o Python SDK
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
Se você estiver usando um YAML para sua especificação de conda, inclua o(s) canal(is) de conda que você gostaria de usar
name: project_environment
dependencies:
- python=3.8
- pip:
- azureml-defaults
channels:
- anaconda
- conda-forge
Recursos
- Veja como criar um ambiente a partir de uma especificação conda v2
- Veja como criar um arquivo conda manualmente
Ambiente de conda base não recomendado
Possíveis causas:
- Você especificou um ambiente de conda base em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Atualizações parciais de ambiente podem levar a conflitos de dependência e/ou erros de tempo de execução inesperados, portanto, o uso de ambientes de conda base não é recomendado.
APLICA-SE A: Python SDK azureml v1
Remova seu ambiente de conda base e especifique todos os pacotes necessários para seu conda_dependencies
ambiente na seção de sua definição de ambiente
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
APLICA-SE A: Azure CLI ml extension v2 (atual)
APLICA-SE A: Python SDK azure-ai-ml v2 (atual)
Definir um ambiente usando um arquivo de configuração YAML conda padrão
Recursos
Dependências não fixadas
Possíveis causas:
- Você não especificou versões para determinados pacotes em sua especificação conda
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Se você não especificar uma versão de dependência, o resolvedor de pacote conda poderá escolher uma versão diferente do pacote em compilações subsequentes do mesmo ambiente. Isso quebra a reprodutibilidade do ambiente e pode levar a erros inesperados.
APLICA-SE A: Python SDK azureml v1
Inclua números de versão ao adicionar pacotes à sua especificação de conda
from azureml.core.environment import CondaDependencies
conda_dep = CondaDependencies()
conda_dep.add_conda_package("numpy==1.24.1")
Se você estiver usando um YAML para sua especificação conda, especifique versões para suas dependências
name: project_environment
dependencies:
- python=3.8
- pip:
- numpy=1.24.1
channels:
- anaconda
- conda-forge
Recursos
Problemas de pip
Pip não especificado
Possíveis causas:
- Você não especificou pip como uma dependência em sua especificação conda
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Para reprodutibilidade, você deve especificar e fixar pip como uma dependência em sua especificação conda.
APLICA-SE A: Python SDK azureml v1
Especifique pip como uma dependência, juntamente com sua versão
env.python.conda_dependencies.add_conda_package("pip==22.3.1")
Se você estiver usando um YAML para sua especificação de conda, especifique pip como uma dependência
name: project_environment
dependencies:
- python=3.8
- pip=22.3.1
- pip:
- numpy=1.24.1
channels:
- anaconda
- conda-forge
Recursos
Pip não fixado
Possíveis causas:
- Você não especificou uma versão para pip em sua especificação conda
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Se você não especificar uma versão pip, uma versão diferente pode ser usada em compilações subsequentes do mesmo ambiente. Esse comportamento pode causar problemas de reprodutibilidade e outros erros inesperados se diferentes versões do pip resolverem seus pacotes de forma diferente.
APLICA-SE A: Python SDK azureml v1
Especifique uma versão pip em suas dependências conda
env.python.conda_dependencies.add_conda_package("pip==22.3.1")
Se você estiver usando um YAML para sua especificação conda, especifique uma versão para pip
name: project_environment
dependencies:
- python=3.8
- pip=22.3.1
- pip:
- numpy=1.24.1
channels:
- anaconda
- conda-forge
Recursos
Questões ambientais diversas
A secção R foi preterida
Possíveis causas:
- Você especificou uma seção R em sua definição de ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
O SDK do Azure Machine Learning para R foi preterido no final de 2021 para abrir caminho para uma experiência aprimorada de treinamento e implantação de R usando a CLI do Azure v2
Consulte o repositório de exemplos para começar a treinar modelos R usando a CLI do Azure v2
Não existe uma definição de ambiente
Possíveis causas:
- Você especificou um ambiente que não existe ou não foi registrado
- Houve um erro ortográfico ou sintático na maneira como você especificou o nome ou a versão do ambiente
Áreas afetadas (sintomas):
- Falha no registro do seu ambiente
Passos de resolução de problemas
Certifique-se de que está a especificar o nome do ambiente corretamente, juntamente com a versão correta
path-to-resource:version-number
Você deve especificar a versão 'mais recente' do seu ambiente de uma maneira diferente
path-to-resource@latest
Problemas de construção de imagem
Questões relacionadas com o ACR
ACR inacessível
Esse problema pode acontecer quando há uma falha no acesso ao recurso ACR (Azure Container Registry) associado a um espaço de trabalho.
Possíveis causas:
- O ACR do seu espaço de trabalho está atrás de uma rede virtual (VNet) (ponto de extremidade privado ou ponto de extremidade de serviço) e você não está usando um cluster de computação para criar imagens.
- O ACR do seu espaço de trabalho está atrás de uma rede virtual (VNet) (ponto de extremidade privado ou ponto de extremidade de serviço), e o cluster de computação usado para criar imagens não tem acesso ao ACR do espaço de trabalho.
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
- Falhas de trabalho de pipeline.
- Falhas na implantação do modelo.
Passos de resolução de problemas
- Verifique se a VNet do cluster de computação tem acesso ao ACR do espaço de trabalho.
- Verifique se o cluster de computação é baseado em CPU.
Nota
- Apenas os clusters de computação do Azure Machine Learning são suportados. A computação, o Azure Kubernetes Service (AKS) ou outros tipos de instância não são suportados para computação de compilação de imagens.
Recursos
Formato Dockerfile inesperado
Esse problema pode acontecer quando seu Dockerfile está formatado incorretamente.
Possíveis causas:
- Seu Dockerfile contém sintaxe inválida
- Seu Dockerfile contém caracteres que não são compatíveis com UTF-8
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque irá criar implicitamente o ambiente no primeiro passo.
Passos de resolução de problemas
- Verifique se o Dockerfile está formatado corretamente e codificado em UTF-8
Recursos
Problemas de pull do Docker
Falha ao extrair imagem do Docker
Esse problema pode acontecer quando um pull de imagem do Docker falha durante uma compilação de imagem.
Possíveis causas:
- O nome do caminho para o registro do contêiner está incorreto
- Um registro de contêiner atrás de uma rede virtual está usando um ponto de extremidade privado em uma região sem suporte
- A imagem que você está tentando referenciar não existe no registro de contêiner especificado
- Você não forneceu credenciais para um registro privado do qual está tentando extrair a imagem ou as credenciais fornecidas estão incorretas
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Verifique se o nome do caminho para o registro do contêiner está correto
- Para um registro
my-registry.io
e uma imagemtest/image
com tag3.2
, um caminho de imagem válido seriamy-registry.io/test/image:3.2
- Consulte a documentação do caminho do Registro
Se o registro de contêiner estiver atrás de uma rede virtual ou estiver usando um ponto de extremidade privado em uma região sem suporte
- Configure o registro de contêiner usando o ponto de extremidade de serviço (acesso público) do portal e tente novamente
- Depois de colocar o registro de contêiner atrás de uma rede virtual, execute o modelo do Azure Resource Manager para que o espaço de trabalho possa se comunicar com a instância do Registro de contêiner
Se a imagem que você está tentando referenciar não existir no registro de contêiner especificado
- Verifique se utilizou a etiqueta correta e se definiu
user_managed_dependencies
comoTrue
. Configuração user_managed_dependencies paraTrue
desativar o conda e usa os pacotes instalados do usuário
Se você não forneceu credenciais para um registro privado do qual está tentando extrair ou se as credenciais fornecidas estiverem incorretas
- Definir conexões de espaço de trabalho para o registro de contêiner, se necessário
Recursos
Erro de E/S
Esse problema pode acontecer quando um pull de imagem do Docker falha devido a um problema de rede.
Possíveis causas:
- Problema de conexão de rede, que pode ser temporário
- A firewall está a bloquear a ligação
- O ACR está inacessível e há isolamento de rede. Para obter mais informações, consulte ACR inacessível.
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Adicionar o host às regras de firewall
- Consulte Configurar o tráfego de rede de entrada e saída para saber como usar o Firewall do Azure para seu espaço de trabalho e recursos por trás de uma VNet
Avalie a configuração do seu espaço de trabalho. Você está usando uma rede virtual ou algum dos recursos que está tentando acessar durante a construção da imagem está por trás de uma rede virtual?
- Certifique-se de ter seguido as etapas neste artigo sobre como proteger um espaço de trabalho com redes virtuais
- O Azure Machine Learning requer acesso de entrada e saída à Internet pública. Se houver um problema com a configuração da rede virtual, pode haver um problema com o acesso a determinados repositórios necessários durante a compilação da imagem
Se não estiver a utilizar uma rede virtual ou se a tiver configurado corretamente
- Tente reconstruir a sua imagem. Se o tempo limite foi devido a um problema de rede, o problema pode ser transitório e uma reconstrução pode corrigir o problema
Problemas do Conda durante a construção
Especificações incorretas
Esse problema pode acontecer quando um pacote listado em sua especificação conda é inválido ou quando você executou um comando conda incorretamente.
Possíveis causas:
- A sintaxe que você usou em sua especificação conda está incorreta
- Você está executando um comando conda incorretamente
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Erros de especificação Conda podem acontecer se você usar o comando conda create incorretamente
- Leia a documentação e certifique-se de que está a utilizar opções e sintaxe válidas
- Há uma confusão conhecida em relação a
conda env create
versusconda create
. Você pode ler mais sobre a resposta do conda e as soluções conhecidas de outros usuários aqui
Para garantir uma compilação bem-sucedida, certifique-se de que você está usando a sintaxe adequada e a especificação de pacote válida em seu conda yaml
- Veja as especificações de correspondência de pacote e como criar um arquivo conda manualmente
Erro de comunicação
Esse problema pode acontecer quando há uma falha na comunicação com a entidade da qual você deseja baixar pacotes listados em sua especificação conda.
Possíveis causas:
- Falha ao se comunicar com um canal conda ou um repositório de pacotes
- Essas falhas podem ser devidas a falhas de rede transitórias
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Certifique-se de que os canais/repositórios de conda que você está usando em sua especificação de conda estão corretos
- Verifique se eles existem e se você os digitou corretamente
Se os canais/repositórios conda estiverem corretos
- Tente reconstruir a imagem - há uma chance de que a falha seja transitória e uma reconstrução pode corrigir o problema
- Verifique se os pacotes listados na sua especificação de conda existem nos canais/repositórios que você especificou
Erro de compilação
Esse problema pode acontecer quando há uma falha na criação de um pacote necessário para o ambiente conda devido a um erro do compilador.
Possíveis causas:
- Você escreveu um pacote incorretamente e, portanto, ele não foi reconhecido
- Há algo errado com o compilador
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Se você estiver usando um compilador
- Verifique se o compilador que você está usando é reconhecido
- Se necessário, adicione uma etapa de instalação ao seu Dockerfile
- Verifique a versão do compilador e verifique se todos os comandos ou opções que você está usando são compatíveis com a versão do compilador
- Se necessário, atualize a versão do compilador
Verifique se você digitou todos os pacotes listados corretamente e se fixou as versões corretamente
Recursos
Comando em falta
Esse problema pode acontecer quando um comando não é reconhecido durante uma compilação de imagem ou no requisito de pacote Python especificado.
Possíveis causas:
- Você não digitou o comando corretamente
- O comando não pode ser executado porque um pacote necessário não está instalado
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Verifique se você digitou o comando corretamente
- Certifique-se de que instalou todos os pacotes necessários para executar o comando que está a tentar executar
- Se necessário, adicione uma etapa de instalação ao seu Dockerfile
Recursos
Tempo limite do Conda
Esse problema pode acontecer quando a resolução do pacote conda leva muito tempo para ser concluída.
Possíveis causas:
- Há um grande número de pacotes listados em sua especificação de conda e pacotes desnecessários estão incluídos
- Você não fixou suas dependências (você incluiu tensorflow em vez de tensorflow=2.8)
- Você listou pacotes para os quais não há solução (você incluiu o pacote X = 1.3 e Y = 2.8, mas a versão de X é incompatível com a versão de Y)
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Remova todos os pacotes da especificação do conda que sejam desnecessários
- Fixe seus pacotes - a resolução do ambiente é mais rápida
- Se você ainda estiver tendo problemas, leia este artigo para obter uma visão aprofundada sobre como entender e melhorar o desempenho do conda
Memória esgotada
Esse problema pode acontecer quando a resolução do pacote conda falha devido ao esgotamento da memória disponível.
Possíveis causas:
- Há um grande número de pacotes listados em sua especificação de conda e pacotes desnecessários estão incluídos
- Você não fixou suas dependências (você incluiu tensorflow em vez de tensorflow=2.8)
- Você listou pacotes para os quais não há solução (você incluiu o pacote X = 1.3 e Y = 2.8, mas a versão de X é incompatível com a versão de Y)
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Remova todos os pacotes da especificação do conda que sejam desnecessários
- Fixe seus pacotes - a resolução do ambiente é mais rápida
- Se você ainda estiver tendo problemas, leia este artigo para obter uma visão aprofundada sobre como entender e melhorar o desempenho do conda
Pacote não encontrado
Esse problema pode acontecer quando um ou mais pacotes conda listados em sua especificação não podem ser encontrados em um canal/repositório.
Possíveis causas:
- Você listou o nome ou a versão do pacote incorretamente em sua especificação de conda
- O pacote existe em um canal de conda que você não listou em sua especificação de conda
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Verifique se você digitou o pacote corretamente e se a versão especificada existe
- Verifique se o pacote existe no canal que você está segmentando
- Certifique-se de ter listado o canal/repositório em sua especificação conda para que o pacote possa ser puxado corretamente durante a resolução do pacote
Especifique os canais na sua especificação conda:
channels:
- conda-forge
- anaconda
dependencies:
- python=3.8
- tensorflow=2.8
Name: my_environment
Recursos
Módulo Python ausente
Esse problema pode acontecer quando um módulo Python listado em sua especificação conda não existe ou não é válido.
Possíveis causas:
- Você digitou o módulo incorretamente
- O módulo não é reconhecido
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Certifique-se de que você escreveu o módulo corretamente e que ele existe
- Verifique se o módulo é compatível com a versão do Python que você especificou na especificação do conda
- Se você não listou uma versão específica do Python em sua especificação conda, certifique-se de listar uma versão específica que seja compatível com seu módulo, caso contrário, um padrão pode ser usado que não é compatível
Fixe uma versão do Python que seja compatível com o módulo pip que você está usando:
channels:
- conda-forge
- anaconda
dependencies:
- python=3.8
- pip:
- dataclasses
Name: my_environment
Sem distribuição correspondente
Esse problema pode acontecer quando não há nenhum pacote encontrado que corresponda à versão que você especificou.
Possíveis causas:
- Você escreveu o nome do pacote incorretamente
- O pacote e a versão não podem ser encontrados nos canais ou feeds especificados por você
- A versão especificada não existe
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Verifique se você digitou o pacote corretamente e se ele existe
- Verifique se a versão especificada para o pacote existe
- Certifique-se de ter especificado o canal a partir do qual o pacote será instalado. Se você não especificar um canal, os padrões serão usados e esses padrões podem ou não ter o pacote que você está procurando
Como listar canais em uma especificação conda yaml:
channels:
- conda-forge
- anaconda
dependencies:
- python = 3.8
- tensorflow = 2.8
Name: my_environment
Recursos
Não é possível construir mpi4py
Este problema pode acontecer quando a construção de rodas para mpi4py falha.
Possíveis causas:
- Os requisitos para uma instalação mpi4py bem-sucedida não são atendidos
- Há algo errado com o método que você escolheu para instalar o mpi4py
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Certifique-se de ter uma instalação MPI funcional (preferência para suporte a MPI-3 e para MPI construído com bibliotecas compartilhadas/dinâmicas)
- Veja a instalação do mpi4py
- Se necessário, siga estes passos na criação do IPM
Certifique-se de que você está usando uma versão compatível do python
- Python 3.8+ é recomendado devido a versões mais antigas que atingem o fim da vida útil
- Veja a instalação do mpi4py
Recursos
Tentou-se uma autenticação interativa
Esse problema pode acontecer quando pip tenta autenticação interativa durante a instalação do pacote.
Possíveis causas:
- Você listou um pacote que requer autenticação, mas não forneceu credenciais
- Durante a compilação da imagem, o pip tentou solicitar que você autenticasse o que falhou na compilação porque você não pode fornecer autenticação interativa durante uma compilação
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Fornecer autenticação por meio de conexões de espaço de trabalho
APLICA-SE A: Python SDK azureml v1
from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "PythonFeed", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")
APLICA-SE A: Azure CLI ml extension v2 (atual)
Criar uma conexão de espaço de trabalho a partir de um arquivo de especificação YAML
az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace
Recursos
Bolha proibida
Esse problema pode acontecer quando uma tentativa de acessar um blob em uma conta de armazenamento é rejeitada.
Possíveis causas:
- O método de autorização que você está usando para acessar a conta de armazenamento é inválido
- Você está tentando autorizar por meio da assinatura de acesso compartilhado (SAS), mas o token SAS expirou ou é inválido
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Leia o seguinte para entender como autorizar o acesso a dados de blob no portal do Azure
Leia o seguinte para entender como autorizar o acesso a dados no armazenamento do Azure
Leia o seguinte se estiver interessado em usar o SAS para acessar os recursos de armazenamento do Azure
Construção Horovod
Esse problema pode acontecer quando o ambiente conda não consegue ser criado ou atualizado porque o horovod falhou ao construir.
Possíveis causas:
- A instalação do Horovod requer outros módulos que você não instalou
- A instalação do Horovod requer determinadas bibliotecas que você não incluiu
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Muitos problemas podem causar uma falha horovod, e há uma lista abrangente deles na documentação do horovod
- Revise o guia de solução de problemas do horovod
- Revise seu log de compilação para ver se há uma mensagem de erro que surgiu quando horovod falhou ao construir
- É possível que o guia de solução de problemas do horovod explique o problema que você está encontrando, juntamente com uma solução
Recursos
Comando Conda não encontrado
Esse problema pode acontecer quando o comando conda não é reconhecido durante a criação ou atualização do ambiente conda.
Possíveis causas:
- Você não instalou o conda na imagem base que está usando
- Você não instalou conda através do seu Dockerfile antes de tentar executar o comando conda
- Você não incluiu conda em seu caminho, ou você não o adicionou ao seu caminho
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Certifique-se de ter uma etapa de instalação do conda em seu Dockerfile antes de tentar executar qualquer comando do conda
- Revise esta lista de instaladores de conda para determinar o que você precisa para o seu cenário
Se você tentou instalar o conda e está enfrentando esse problema, certifique-se de ter adicionado o conda ao seu caminho
- Analise este exemplo para obter orientação
- Revise como definir variáveis de ambiente em um Dockerfile
Recursos
- Todas as distribuições conda disponíveis são encontradas no repositório conda
Versão Python incompatível
Esse problema pode acontecer quando há um pacote especificado em seu ambiente conda que não é compatível com sua versão Python especificada.
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Use uma versão diferente do pacote que seja compatível com sua versão Python especificada
Como alternativa, use uma versão diferente do Python que seja compatível com o pacote especificado
- Se você estiver alterando sua versão do Python, use uma versão que seja suportada e que não esteja chegando ao fim de sua vida útil em breve
- Consulte Datas de fim de vida do Python
Recursos
Redirecionamento nu de Conda
Esse problema pode acontecer quando você especificou um pacote na linha de comando usando "<" ou ">" sem usar aspas. Essa sintaxe pode fazer com que a criação ou atualização do ambiente conda falhe.
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Adicionar cotações em torno da especificação do pacote
- Por exemplo, altere
conda install -y pip<=20.1.1
paraconda install -y "pip<=20.1.1"
Erro de descodificação UTF-8
Esse problema pode acontecer quando há uma falha na decodificação de um caractere em sua especificação de conda.
Possíveis causas:
- Seu arquivo conda YAML contém caracteres que não são compatíveis com UTF-8.
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Problemas de pip durante a compilação
Falha ao instalar pacotes
Esse problema pode acontecer quando a compilação da imagem falha durante a instalação do pacote Python.
Possíveis causas:
- Há muitos problemas que podem causar esse erro
- Esta mensagem é genérica e surge quando a análise do Azure Machine Learning ainda não cobre o erro que você está encontrando
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Revise seu log de compilação para obter mais informações sobre sua falha de compilação de imagem
Deixe comentários para a equipe do Azure Machine Learning analisar o erro que você está enfrentando
Não é possível desinstalar o pacote
Esse problema pode acontecer quando pip falha ao desinstalar um pacote Python que o gerenciador de pacotes do sistema operacional instalou.
Possíveis causas:
- Um problema de pip existente ou uma versão de pip problemática
- Um problema decorrente da não utilização de um ambiente isolado
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Leia o seguinte e determine se um problema de pip existente causou sua falha
- Não é possível desinstalar durante a criação da imagem do Docker
- pip 10 disutils problema de desinstalação parcial
- pip 10 não desinstala mais pacotes disutils
Tente o seguinte
pip install --ignore-installed [package]
Tente criar um ambiente separado usando conda
Operador inválido
Esse problema pode acontecer quando o pip não consegue instalar um pacote Python devido a um operador inválido encontrado no requisito.
Possíveis causas:
- Há um operador inválido encontrado no requisito do pacote Python
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Verifique se você digitou o pacote corretamente e se a versão especificada existe
- Verifique se o especificador de versão do pacote está formatado corretamente e se você está usando operadores de comparação válidos. Consulte Especificadores de versão
- Substitua o operador inválido pelo operador recomendado na mensagem de erro
Sem distribuição correspondente
Esse problema pode acontecer quando não há nenhum pacote encontrado que corresponda à versão que você especificou.
Possíveis causas:
- Você escreveu o nome do pacote incorretamente
- O pacote e a versão não podem ser encontrados nos canais ou feeds especificados por você
- A versão especificada não existe
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Verifique se você digitou o pacote corretamente e se ele existe
- Verifique se a versão especificada para o pacote existe
- Execute
pip install --upgrade pip
e execute o comando original novamente - Certifique-se de que o pip que você está usando possa instalar pacotes para a versão desejada do Python. Consulte Devo usar pip ou pip3?
Recursos
Nome de arquivo de roda inválido
Esse problema pode acontecer quando você especificou um arquivo de roda incorretamente.
Possíveis causas:
- Você escreveu o nome do arquivo de roda incorretamente ou usou formatação incorreta
- O arquivo de roda especificado não pode ser encontrado
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Verifique se você digitou o nome do arquivo corretamente e se ele existe
- Certifique-se de que está a seguir o formato dos nomes de ficheiros de roda
Criar problemas
Nenhum destino especificado e nenhum makefile encontrado
Esse problema pode acontecer quando você não especificou nenhum destino e nenhum makefile é encontrado durante a execução make
do .
Possíveis causas:
- Makefile não existe no diretório atual
- Nenhum alvo é especificado
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
- Certifique-se de que você digitou o makefile corretamente
- Verifique se o makefile existe no diretório atual
- Se você tiver um makefile personalizado, especifique-o usando
make -f custommakefile
- Especificar destinos no makefile ou na linha de comando
- Configure sua compilação e gere um makefile
- Certifique-se de que formatou o makefile corretamente e de que utilizou separadores para recuo
Recursos
Problemas de cópia
Ficheiro não encontrado
Esse problema pode acontecer quando o Docker não consegue localizar e copiar um arquivo.
Possíveis causas:
- Arquivo de origem não encontrado no contexto de compilação do Docker
- Arquivo de origem excluído por
.dockerignore
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque irá criar implicitamente o ambiente no primeiro passo.
Passos de resolução de problemas
- Verifique se o arquivo de origem existe no contexto de compilação do Docker
- Verifique se os caminhos de origem e destino existem e estão escritos corretamente
- Verifique se o arquivo de origem não está listado
.dockerignore
nos diretórios pai e atual - Remova todos os comentários à direita da mesma linha do
COPY
comando
Recursos
Apt-Get Problemas
Falha ao executar o comando apt-get
Este problema pode acontecer quando o apt-get não consegue ser executado.
Possíveis causas:
- Problema de conexão de rede, que pode ser temporário
- Dependências quebradas relacionadas ao pacote que você está executando apt-get on
- Você não tem as permissões corretas para usar o comando apt-get
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque irá criar implicitamente o ambiente no primeiro passo.
Passos de resolução de problemas
- Verifique a conexão de rede e as configurações de DNS
- Executar
apt-get check
para verificar dependências quebradas - Execute
apt-get update
e execute o comando original novamente - Execute o comando com o
-f
sinalizador, que tentará resolver o problema proveniente das dependências quebradas - Execute o comando com
sudo
permissões, comosudo apt-get install <package-name>
Recursos
- Gerenciamento de pacotes com APT
- Ubuntu Apt-Get
- O que fazer quando o apt-get falha
- comando apt-get no Linux com exemplos
Problemas de push do Docker
Falha ao armazenar a imagem do Docker
Esse problema pode acontecer quando há uma falha no envio de uma imagem do Docker para um registro de contêiner.
Possíveis causas:
- Ocorreu um problema transitório com o ACR associado ao espaço de trabalho
- Um registro de contêiner atrás de uma rede virtual está usando um ponto de extremidade privado em uma região sem suporte
Áreas afetadas (sintomas):
- Falha na criação de ambientes a partir da interface do usuário, SDK e CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Repita a compilação do ambiente se suspeitar que a falha é um problema transitório com o Azure Container Registry (ACR) do espaço de trabalho
Se o registro de contêiner estiver atrás de uma rede virtual ou estiver usando um ponto de extremidade privado em uma região sem suporte
- Configure o registro de contêiner usando o ponto de extremidade de serviço (acesso público) do portal e tente novamente
- Depois de colocar o registro de contêiner atrás de uma rede virtual, execute o modelo do Azure Resource Manager para que o espaço de trabalho possa se comunicar com a instância do Registro de contêiner
Se você não estiver usando uma rede virtual ou se a tiver configurado corretamente, teste se suas credenciais estão corretas para o ACR tentando uma compilação local simples
- Obter credenciais para o ACR do seu espaço de trabalho a partir do portal do Azure
- Inicie sessão no seu ACR utilizando
docker login <myregistry.azurecr.io> -u "username" -p "password"
- Para uma imagem "helloworld", teste o envio para o seu ACR executando
docker push helloworld
- Consulte Guia de início rápido: criar e executar uma imagem de contêiner usando as Tarefas do Registro de Contêiner do Azure
Comando Docker desconhecido
Instrução desconhecida do Docker
Esse problema pode acontecer quando o Docker não reconhece uma instrução no Dockerfile.
Possíveis causas:
- Instrução desconhecida do Docker sendo usada no Dockerfile
- Seu Dockerfile contém sintaxe inválida
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque irá criar implicitamente o ambiente no primeiro passo.
Passos de resolução de problemas
- Verifique se o comando Docker é válido e escrito corretamente
- Verifique se há um espaço entre o comando do Docker e os argumentos
- Verifique se não há espaço em branco desnecessário no Dockerfile
- Verifique se o Dockerfile está formatado corretamente e codificado em UTF-8
Recursos
Comando não encontrado
Comando não reconhecido
Esse problema pode acontecer quando o comando que está sendo executado não é reconhecido.
Possíveis causas:
- Você não instalou o comando através do seu Dockerfile antes de tentar executá-lo
- Você não incluiu o comando em seu caminho ou não o adicionou ao seu caminho
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque irá criar implicitamente o ambiente no primeiro passo.
Etapas de solução de problemas Certifique-se de ter uma etapa de instalação para o comando em seu Dockerfile antes de tentar executar o comando
- Analise este exemplo
Se você tentou instalar o comando e está enfrentando esse problema, certifique-se de ter adicionado o comando ao seu caminho
- Analise este exemplo
- Revise como definir variáveis de ambiente em um Dockerfile
Problemas diversos de construção
Log de compilação indisponível
Possíveis causas:
- O Azure Machine Learning não está autorizado a armazenar seus logs de compilação em sua conta de armazenamento
- Ocorreu um erro transitório ao guardar os registos de compilação
- Ocorreu um erro de sistema antes de uma compilação de imagem ser acionada
Áreas afetadas (sintomas):
- Uma compilação bem-sucedida, mas sem logs disponíveis.
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque o Azure Machine Learning cria implicitamente o ambiente na primeira etapa.
Passos de resolução de problemas
Uma reconstrução pode corrigir o problema se for transitória
Imagem não encontrada
Esse problema pode acontecer quando a imagem base especificada não pode ser encontrada.
Possíveis causas:
- Você especificou a imagem incorretamente
- A imagem que especificou não existe no registo que especificou
Áreas afetadas (sintomas):
- Falha na criação de ambientes da IU, do SDK e da CLI.
- Falha na execução de trabalhos porque irá criar implicitamente o ambiente no primeiro passo.
Passos de resolução de problemas
- Verifique se a imagem base está escrita e formatada corretamente
- Verifique se a imagem base que você está usando existe no registro especificado
Recursos