Partilhar via


Solução de problemas de ambiente

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

Á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:

Á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

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

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

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

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

APLICA-SE A: Azure CLI ml extension v2 (atual)

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

Especificar um caminho do Dockerfile

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

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

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

  • Ver imagens base disponíveis

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

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

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

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

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

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 como False (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

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

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

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

APLICA-SE A: Python SDK azureml v1

Remova a seção R da definição de ambiente

env.r = None

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

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 como True. Configuração user_managed_dependencies para True 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 versus conda 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

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)

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

Se você tentou instalar o conda e está enfrentando esse problema, certifique-se de ter adicionado o conda ao seu caminho

Recursos

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 para conda 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

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

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

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, como sudo apt-get install <package-name>

Recursos

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

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

Se você tentou instalar o comando e está enfrentando esse problema, certifique-se de ter adicionado o comando ao seu caminho

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