Dela via


Felsöka miljöproblem

I den här artikeln får du lära dig hur du felsöker vanliga problem som kan uppstå med miljöavbildningsversioner och lär dig mer om säkerhetsrisker i AzureML-miljön.

Vi söker aktivt din feedback! Om du navigerade till den här sidan via loggarna miljödefinition eller analys av byggfel vill vi veta om funktionen var till hjälp för dig, eller om du vill rapportera ett felscenario som ännu inte omfattas av vår analys. Du kan också lämna feedback om den här dokumentationen. Lämna dina tankar här.

Azure Machine Learning-miljöer

Azure Machine Learning-miljöer är en inkapsling av miljön där maskininlärningsträningen sker. De anger basavbildningen för docker, Python-paket och programvaruinställningar kring dina tränings- och bedömningsskript. Miljöer är hanterade och versionshanterade tillgångar på din Machine Learning-arbetsyta som möjliggör reproducerbara, granskningsbara och portabla arbetsflöden för maskininlärning mellan olika beräkningsmål.

Miljötyper

Miljöer omfattas av tre kategorier: kuraterade, användarhanterade och systemhanterade.

Utvalda miljöer är förskapade miljöer som hanteras av Azure Machine Learning och är tillgängliga som standard på alla arbetsytor. De innehåller samlingar med Python-paket och -inställningar som hjälper dig att komma igång med olika ramverk för maskininlärning, och du är tänkt att använda dem som det är. Dessa förskapade miljöer ger också snabbare distributionstid.

I användarhanterade miljöer ansvarar du för att konfigurera din miljö och installera alla paket som träningsskriptet behöver på beräkningsmålet. Se också till att inkludera eventuella beroenden som behövs för modelldistribution.

Dessa typer av miljöer har två undertyper. För den första typen BYOC (bring your own container) tar du med en befintlig Docker-avbildning till Azure Machine Learning. För den andra typen, Docker build context based environments, materialiserar Azure Machine Learning avbildningen från den kontext som du anger.

När du vill att Conda ska hantera Python-miljön åt dig använder du en systemhanterad miljö. Azure Machine Learning skapar en ny isolerad conda-miljö genom att materialisera conda-specifikationen ovanpå en docker-basavbildning. Som standard lägger Azure Machine Learning till vanliga funktioner i den härledda avbildningen. Python-paket som finns i basavbildningen är inte tillgängliga i den isolerade conda-miljön.

Skapa och hantera miljöer

Du kan skapa och hantera miljöer från klienter som Azure Machine Learning Python SDK, Azure Machine Learning CLI, Azure Machine Learning Studio UI, Visual Studio Code-tillägget.

"Anonyma" miljöer registreras automatiskt på din arbetsyta när du skickar ett experiment utan att registrera eller referera till en redan befintlig miljö. De visas inte, men du kan hämta dem efter version eller etikett.

Azure Machine Learning skapar miljödefinitioner i Docker-avbildningar. Den cachelagrar även avbildningarna i Azure Container Registry som är associerade med din Azure Machine Learning-arbetsyta så att de kan återanvändas i efterföljande träningsjobb och tjänstslutpunktsdistributioner. Flera miljöer med samma definition kan resultera i samma cachelagrade avbildning.

Om du kör ett träningsskript via fjärranslutning måste du skapa en Docker-avbildning.

Sårbarheter i AzureML-miljöer

Du kan åtgärda säkerhetsrisker genom att uppgradera till en nyare version av ett beroende (basavbildning, Python-paket osv.) eller genom att migrera till ett annat beroende som uppfyller säkerhetskrav. Att minska sårbarheter är tidskrävande och kostsamt eftersom det kan kräva refaktorisering av kod och infrastruktur. Med förekomsten av öppen källkod programvara och användningen av komplicerade kapslade beroenden är det viktigt att hantera och hålla reda på sårbarheter.

Det finns några sätt att minska effekten av sårbarheter:

  • Minska antalet beroenden – använd den minimala uppsättningen beroenden för varje scenario.
  • Dela upp din miljö så att du kan begränsa och åtgärda problem på ett och samma ställe.
  • Förstå flaggade sårbarheter och deras relevans för ditt scenario.

Sök efter sårbarheter

Du kan övervaka och underhålla miljöhygienen med Microsoft Defender for Container Registry för att söka igenom avbildningar efter säkerhetsrisker.

Information om hur du automatiserar den här processen baserat på utlösare från Microsoft Defender finns i Automatisera svar på Microsoft Defender för molnet utlösare.

Sårbarheter kontra reproducerbarhet

Reproducerbarhet är en av grunderna för programvaruutveckling. När du utvecklar produktionskod måste en upprepad åtgärd garantera samma resultat. Att minimera sårbarheter kan störa reproducerbarheten genom att ändra beroenden.

Azure Machine Learnings primära fokus är att garantera reproducerbarhet. Miljöer omfattas av tre kategorier: kuraterade, användarhanterade och systemhanterade.

Kuraterade miljöer

Utvalda miljöer är förskapade miljöer som Azure Machine Learning hanterar och är tillgängliga som standard i varje Azure Machine Learning-arbetsyta som etableras. Nya versioner släpps av Azure Machine Learning för att åtgärda sårbarheter. Om du använder den senaste bilden kan vara en kompromiss mellan reproducerbarhet och hantering av säkerhetsrisker.

Utvalda miljöer innehåller samlingar med Python-paket och -inställningar som hjälper dig att komma igång med olika maskininlärningsramverk. Du är menad att använda dem som det är. Dessa förskapade miljöer ger också snabbare distributionstid.

Användarhanterade miljöer

I användarhanterade miljöer ansvarar du för att konfigurera din miljö och installera alla paket som träningsskriptet behöver på beräkningsmålet och för modelldistributionen. Dessa typer av miljöer har två undertyper:

  • BYOC (bring your own container): användaren tillhandahåller en Docker-avbildning till Azure Machine Learning
  • Docker-byggkontext: Azure Machine Learning materialiserar avbildningen från det användardefinierade innehållet

När du har installerat fler beroenden ovanpå en Microsoft-avbildning, eller tar med din egen basavbildning, blir hantering av säkerhetsrisker ditt ansvar.

Systemhanterade miljöer

Du använder systemhanterade miljöer när du vill att Conda ska hantera Python-miljön åt dig. Azure Machine Learning skapar en ny isolerad conda-miljö genom att materialisera conda-specifikationen ovanpå en docker-basavbildning. Azure Machine Learning korrigerar basavbildningar med varje version, men om du använder den senaste avbildningen kan det vara en kompromiss mellan reproducerbarhet och hantering av säkerhetsrisker. Därför är det ditt ansvar att välja den miljöversion som används för dina jobb eller modelldistributioner när du använder systemhanterade miljöer.

Sårbarheter: Vanliga problem

Sårbarheter i Base Docker-avbildningar

Systemsårbarheter i en miljö introduceras vanligtvis från basavbildningen. Till exempel kommer sårbarheter som markerats som "Ubuntu" eller "Debian" från systemnivån för miljön – docker-basavbildningen. Om basavbildningen kommer från en tredjepartsutfärdare kontrollerar du om den senaste versionen har korrigeringar för de flaggade säkerhetsriskerna. De vanligaste källorna för basavbildningarna i Azure Machine Learning är:

  • Microsofts artefaktregister (MAR) även kallat Microsoft Container Registry (mcr.microsoft.com).
    • Bilder kan visas från MAR-startsidan, anropa katalog-API eller /tags/list
    • Käll- och versionsanteckningar för träningsbasavbildningar från AzureML finns i Azure/AzureML-Containers
  • Nvidia (nvcr.io eller Nvidias profil)

Om den senaste versionen av basavbildningen inte löser dina säkerhetsrisker kan du åtgärda grundläggande bildsårbarheter genom att installera versioner som rekommenderas vid en sårbarhetssökning:

apt-get install -y library_name

Sårbarheter i Python-paket

Sårbarheter kan också komma från installerade Python-paket ovanpå den systemhanterade basavbildningen. Dessa Python-relaterade sårbarheter bör lösas genom att uppdatera dina Python-beroenden. Python-sårbarheter (pip) i bilden kommer vanligtvis från användardefinierade beroenden.

Information om hur du söker efter kända Python-säkerhetsrisker och lösningar finns i GitHub Advisory Database. För att åtgärda Python-säkerhetsproblem uppdaterar du paketet till den version som har korrigeringar för det flaggade problemet:

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

Om du använder en conda-miljö uppdaterar du referensen i conda-beroendefilen.

I vissa fall installeras Python-paket automatiskt under condas konfiguration av din miljö ovanpå en grundläggande Docker-avbildning. Åtgärdsstegen för dessa är desamma som för användarinförda paket. Conda installerar nödvändiga beroenden för varje miljö som materialiseras. Paket som kryptografi, setuptools, hjul osv. installeras automatiskt från condas standardkanaler. Det finns ett känt problem med att standardkanalen anaconda saknar de senaste paketversionerna, så vi rekommenderar att du prioriterar den community-underhållna conda-forge-kanalen. I annat fall anger du uttryckligen paket och versioner, även om du inte refererar till dem i den kod som du planerar att köra i den miljön.

Cacheproblem

Associerad med din Azure Machine Learning-arbetsyta är en Azure Container Registry-instans som är en cache för containeravbildningar. Alla avbildningar som materialiseras skickas till containerregistret och används om du utlöser experimentering eller distribution för motsvarande miljö. Azure Machine Learning tar inte bort avbildningar från containerregistret och det är ditt ansvar att utvärdera vilka avbildningar du behöver underhålla över tid.

Felsöka miljöbildversioner

Lär dig hur du felsöker problem med miljöbildversioner och paketinstallationer.

Problem med miljödefinition

Problem med miljönamn

Kuraterat prefix tillåts inte

Det här problemet kan inträffa när namnet på din anpassade miljö endast använder termer som är reserverade för utvalda miljöer. Utvalda miljöer är miljöer som Microsoft underhåller. Anpassade miljöer är miljöer som du skapar och underhåller.

Möjliga orsaker:

  • Miljönamnet börjar med Microsoft eller AzureML

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Uppdatera miljönamnet så att det reserverade prefixet som du använder för närvarande undantas

Resurser

Miljönamnet är för långt

Möjliga orsaker:

  • Miljönamnet är längre än 255 tecken

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Uppdatera miljönamnet till högst 255 tecken

Docker-problem

GÄLLER FÖR: Azure CLI ml-tillägget v1

GÄLLER FÖR: Python SDK azureml v1

Om du vill skapa en ny miljö måste du använda någon av följande metoder (se DockerSection):

  • Basavbildning
    • Ange basavbildningens namn, lagringsplats som den ska hämtas från och autentiseringsuppgifter om det behövs
    • Ange en conda-specifikation
  • Base Dockerfile
    • Ange en Dockerfile
    • Ange en conda-specifikation
  • Docker-byggkontext
    • Ange platsen för byggkontexten (URL)
    • Byggkontexten måste innehålla minst en Dockerfile, men kan även innehålla andra filer

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Om du vill skapa en ny miljö måste du använda någon av följande metoder:

  • Docker-avbildning
    • Ange avbildnings-URI:n för avbildningen som finns i ett register, till exempel Docker Hub eller Azure Container Registry
    • Exempel här
  • Docker-byggkontext
    • Ange den katalog som fungerar som byggkontext
    • Katalogen ska innehålla en Dockerfile och alla andra filer som behövs för att skapa avbildningen
    • Exempel här
  • Conda-specifikation
    • Du måste ange en docker-basavbildning för miljön. Azure Machine Learning skapar conda-miljön ovanpå den Docker-avbildning som tillhandahålls
    • Ange den relativa sökvägen till conda-filen
    • Exempel här

Docker-definition saknas

GÄLLER FÖR: Python SDK azureml v1

Det här problemet kan inträffa när din miljödefinition saknar en DockerSection. Det här avsnittet konfigurerar inställningar relaterade till den slutliga Docker-avbildningen som skapats från din miljöspecifikation.

Möjliga orsaker:

  • Du angav inte miljödefinitionen DockerSection

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Lägg till en DockerSection i din miljödefinition och ange antingen en basavbildning, bas dockerfile eller docker build-kontext.

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

Resurser

För många Docker-alternativ

Möjliga orsaker:

GÄLLER FÖR: Python SDK azureml v1

Du har fler än ett av dessa Docker-alternativ som anges i din miljödefinition

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Du har fler än ett av dessa Docker-alternativ som anges i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Välj vilket Docker-alternativ du vill använda för att skapa din miljö. Ange sedan alla andra angivna alternativ till Ingen.

GÄLLER FÖR: 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

Docker-alternativ saknas

Möjliga orsaker:

Du angav inte något av följande alternativ i din miljödefinition

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Du angav inte något av följande alternativ i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Välj vilket Docker-alternativ du vill använda för att skapa din miljö och fyll sedan i det alternativet i din miljödefinition.

GÄLLER FÖR: Python SDK azureml v1

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

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

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)

Resurser

Autentiseringsuppgifter för containerregister saknar användarnamn eller lösenord

Möjliga orsaker:

  • Du har angett antingen ett användarnamn eller ett lösenord för containerregistret i miljödefinitionen, men inte båda

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Lägg till användarnamnet eller lösenordet som saknas i miljödefinitionen för att åtgärda problemet

myEnv.docker.base_image_registry.username = "username"

Alternativt kan du ange autentisering via arbetsyteanslutningar

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

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

Skapa en arbetsyteanslutning från en YAML-specifikationsfil

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

Kommentar

  • Det går inte längre att ange autentiseringsuppgifter i din miljödefinition. Använd arbetsyteanslutningar i stället.

Resurser

Flera autentiseringsuppgifter för basavbildningsregistret

Möjliga orsaker:

  • Du har angett fler än en uppsättning autentiseringsuppgifter för ditt basavbildningsregister

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Om du använder arbetsyteanslutningar visar du de anslutningar som du har angett och tar bort de som du inte vill använda

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

Om du har angett autentiseringsuppgifter i din miljödefinition väljer du en uppsättning autentiseringsuppgifter som ska användas och ställer in alla andra på null

myEnv.docker.base_image_registry.registry_identity = None

Kommentar

  • Det går inte längre att ange autentiseringsuppgifter i din miljödefinition. Använd arbetsyteanslutningar i stället.

Resurser

Hemligheter i basavbildningsregistret

Möjliga orsaker:

  • Du har angett autentiseringsuppgifter i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Det går inte längre att ange autentiseringsuppgifter i miljödefinitionen. Ta bort autentiseringsuppgifter från miljödefinitionen och använd anslutningar till arbetsytor i stället.

GÄLLER FÖR: Python SDK azureml v1

Ange en arbetsyteanslutning på din arbetsyta

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

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

Skapa en arbetsyteanslutning från en YAML-specifikationsfil

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

Resurser

Inaktuellt Docker-attribut

Möjliga orsaker:

  • Du har angett Docker-attribut i din miljödefinition som nu är inaktuella
  • Följande är inaktuella egenskaper:
    • enabled
    • arguments
    • shared_volumes
    • gpu_support
      • Azure Machine Learning identifierar och använder nu NVIDIA Docker-tillägget automatiskt när det är tillgängligt
    • smh_size

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

I stället för att ange dessa attribut i miljödefinitionen DockerSection använder du DockerConfiguration

Resurser

Dockerfile-längd över gränsen

Möjliga orsaker:

  • Din angivna Dockerfile överskred den maximala storleken på 100 KB

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Förkorta Dockerfile för att få den under den här gränsen

Resurser

Problem med Docker-kompileringskontext

Plats för Docker-byggkontext saknas

Möjliga orsaker:

  • Du angav inte sökvägen till din versionskontextkatalog i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Inkludera en sökväg i build_context dockerSection

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Se till att du inkluderar en sökväg för din byggkontext

Resurser

Dockerfile-sökväg saknas

Det här problemet kan inträffa när Azure Machine Learning inte hittar din Dockerfile. Som standard letar Azure Machine Learning efter en Dockerfile med namnet "Dockerfile" i roten i din byggkontextkatalog om du inte anger en Dockerfile-sökväg.

Möjliga orsaker:

  • Din Dockerfile finns inte i roten för din byggkontextkatalog och/eller heter något annat än "Dockerfile", och du angav inte dess sökväg

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

I dockerSection build_context inkluderar du endockerfile_path

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Ange en Dockerfile-sökväg

Resurser

Det går inte att ange attribut med Docker-byggkontext

Det här problemet kan inträffa när du har angett egenskaper i din miljödefinition som inte kan ingå i en Docker-byggkontext.

Möjliga orsaker:

  • Du har angett en Docker-byggkontext, tillsammans med minst en av följande egenskaper i din miljödefinition:
    • Miljövariabler
    • Conda-beroenden
    • R
    • Spark

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Om du har angett någon av de ovan angivna egenskaperna i din miljödefinition tar du bort dem

  • Om du använder en Docker-byggkontext och vill ange conda-beroenden bör din conda-specifikation finnas i din byggkontextkatalog

Resurser

Platstyp stöds inte/Okänd platstyp

Möjliga orsaker:

  • Du har angett en platstyp för din Docker-byggkontext som inte stöds eller som är okänd

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Följande är godkända platstyper:

  • Git
    • Du kan ange git-URL:er till Azure Machine Learning, men du kan inte använda dem för att skapa avbildningar ännu. Använda ett lagringskonto tills byggen har Git-stöd
  • Lagringskonto

Resurser

Ogiltig plats

Möjliga orsaker:

  • Den angivna platsen för Docker-byggkontexten är ogiltig

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

För scenarier där du lagrar din Docker-byggkontext i ett lagringskonto

  • Du måste ange sökvägen till byggkontexten som

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

  • Kontrollera att platsen du angav är en giltig URL

  • Kontrollera att du har angett en container och en sökväg

Resurser

Problem med basavbildning

Basavbildningen är inaktuell

Möjliga orsaker:

  • Du använde en inaktuell basavbildning
    • Azure Machine Learning kan inte ge felsökningsstöd för misslyckade versioner med inaktuella avbildningar
    • Azure Machine Learning uppdaterar eller underhåller inte dessa avbildningar, så de riskerar att drabbas av sårbarheter

Följande basavbildningar är inaktuella:

  • 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

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Uppgradera basavbildningen till en senaste version av avbildningar som stöds

Ingen tagg eller sammandrag

Möjliga orsaker:

  • Du tog inte med någon versionstagg eller en sammandrag på den angivna basavbildningen
  • Utan någon av dessa specificerare är miljön inte reproducerbar

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Inkludera minst en av följande specificerare på basavbildningen

Problem med miljövariabler

Felplacerade körningsvariabler

Möjliga orsaker:

  • Du har angett körningsvariabler i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

environment_variables Använd attributet för RunConfiguration-objektet i stället

Python-problem

Python-avsnittet saknas

Möjliga orsaker:

  • Din miljödefinition har inget Python-avsnitt

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Fyll i Python-avsnittet i din miljödefinition

Python-versionen saknas

Möjliga orsaker:

  • Du har inte angett någon Python-version i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Lägg till Python som ett conda-paket och ange versionen

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

Om du använder en YAML för din conda-specifikation ska du inkludera Python som ett beroende

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

Flera Python-versioner

Möjliga orsaker:

  • Du har angett mer än en Python-version i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Välj vilken Python-version du vill använda och ta bort alla andra versioner

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

Om du använder en YAML för din conda-specifikation ska du bara inkludera en Python-version som ett beroende

Python-versionen stöds inte

Möjliga orsaker:

  • Du har angett en Python-version som är i eller nära slutet av sin livslängd och som inte längre stöds

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Ange en Python-version som inte har nåtts och som inte närmar sig slutet av sin livslängd

Möjliga orsaker:

  • Du har angett en Python-version som är i eller nära slutet av livet

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Ange en Python-version som inte har nåtts och som inte närmar sig slutet av sin livslängd

Det gick inte att verifiera Python-versionen

Möjliga orsaker:

  • Du har angett en Python-version med felaktig syntax eller felaktig formatering

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Använd rätt syntax för att ange en Python-version med hjälp av SDK

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

Använd rätt syntax för att ange en Python-version i en conda YAML

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

Resurser

Conda-problem

Conda-beroenden saknas

Möjliga orsaker:

  • Du har inte angett någon conda-specifikation i din miljödefinition och user_managed_dependencies är inställd på False (standard)

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Om du inte vill att Azure Machine Learning ska skapa en Python-miljö för dig baserat på inställd user_managed_dependenciesconda_dependencies,True

env.python.user_managed_dependencies = True
  • Du ansvarar för att se till att alla nödvändiga paket är tillgängliga i Python-miljön där du väljer att köra skriptet

Om du vill att Azure Machine Learning ska skapa en Python-miljö för dig baserat på en conda-specifikation måste du fylla conda_dependencies i din miljödefinition

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

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Du måste ange en grundläggande Docker-avbildning för miljön och Azure Machine Learning skapar sedan conda-miljön ovanpå den avbildningen

Resurser

Ogiltiga conda-beroenden

Möjliga orsaker:

  • Du har felaktigt formaterat de conda-beroenden som anges i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

GÄLLER FÖR: Python SDK azureml v1

Se till att är conda_dependencies en JSONified-version av YAML-strukturen för conda-beroenden

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

Du kan också ange conda-beroenden med hjälp av add_conda_package metoden

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

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Du måste ange en grundläggande Docker-avbildning för miljön och Azure Machine Learning skapar sedan conda-miljön ovanpå den avbildningen

Conda-kanaler saknas

Möjliga orsaker:

  • Du har inte angett conda-kanaler i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

För reproducerbarhet för din miljö anger du kanaler som beroenden ska hämtas från. Om du inte anger conda-kanaler använder conda standardvärden som kan ändras.

GÄLLER FÖR: Python SDK azureml v1

Lägga till en conda-kanal med Hjälp av 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

Om du använder en YAML för din conda-specifikation ska du inkludera de conda-kanaler som du vill använda

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

Resurser

Möjliga orsaker:

  • Du har angett en grundläggande conda-miljö i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Partiella miljöuppdateringar kan leda till beroendekonflikter och/eller oväntade körningsfel, så användning av grundläggande conda-miljöer rekommenderas inte.

GÄLLER FÖR: Python SDK azureml v1

Ta bort din grundläggande conda-miljö och ange alla paket som behövs för din miljö i avsnittet i conda_dependencies din miljödefinition

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

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

Definiera en miljö med hjälp av en STANDARD CONDA YAML-konfigurationsfil

Resurser

Ej fästa beroenden

Möjliga orsaker:

  • Du angav inte versioner för vissa paket i conda-specifikationen

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Om du inte anger någon beroendeversion kan conda-paketlösaren välja en annan version av paketet i efterföljande versioner av samma miljö. Detta bryter reproducerbarheten för miljön och kan leda till oväntade fel.

GÄLLER FÖR: Python SDK azureml v1

Inkludera versionsnummer när du lägger till paket i din conda-specifikation

from azureml.core.environment import CondaDependencies

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

Om du använder en YAML för din conda-specifikation anger du versioner för dina beroenden

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

Resurser

Pip-problem

Pip har inte angetts

Möjliga orsaker:

  • Du angav inte pip som ett beroende i din conda-specifikation

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

För reproducerbarhet bör du ange och fästa pip som ett beroende i din conda-specifikation.

GÄLLER FÖR: Python SDK azureml v1

Ange pip som ett beroende, tillsammans med dess version

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

Om du använder en YAML för din conda-specifikation anger du pip som ett beroende

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

Resurser

Pip är inte fäst

Möjliga orsaker:

  • Du har inte angett någon version för pip i conda-specifikationen

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Om du inte anger en pip-version kan en annan version användas i efterföljande versioner av samma miljö. Det här beteendet kan orsaka reproducerbarhetsproblem och andra oväntade fel om olika versioner av pip löser dina paket på olika sätt.

GÄLLER FÖR: Python SDK azureml v1

Ange en pip-version i dina conda-beroenden

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

Om du använder en YAML för din conda-specifikation anger du en version för pip

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

Resurser

Diverse miljöproblem

R-avsnittet är inaktuellt

Möjliga orsaker:

  • Du har angett ett R-avsnitt i din miljödefinition

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Azure Machine Learning SDK för R blev inaktuell i slutet av 2021 för att ge plats för en förbättrad R-utbildning och distributionsupplevelse med hjälp av Azure CLI v2

GÄLLER FÖR: Python SDK azureml v1

Ta bort R-avsnittet från din miljödefinition

env.r = None

Se exempellagringsplatsen för att komma igång med att träna R-modeller med hjälp av Azure CLI v2

Det finns ingen definition för miljön

Möjliga orsaker:

  • Du har angett en miljö som inte finns eller inte har registrerats
  • Det uppstod ett felstavat eller syntaktiskt fel på det sätt som du angav miljönamnet eller miljöversionen

Drabbade områden (symptom):

  • Det gick inte att registrera din miljö

Felsökningsanvisningar

Kontrollera att du anger miljönamnet korrekt, tillsammans med rätt version

  • path-to-resource:version-number

Du bör ange den "senaste" versionen av din miljö på ett annat sätt

  • path-to-resource@latest

Problem med bildbygge

ACR-problem

ACR kan inte nås

Det här problemet kan inträffa när det uppstår ett fel i åtkomsten till en arbetsytas associerade Azure Container Registry-resurs (ACR).

Möjliga orsaker:

  • Arbetsytans ACR finns bakom ett virtuellt nätverk (VNet) (privat slutpunkt eller tjänstslutpunkt) och du använder inte ett beräkningskluster för att skapa avbildningar.
  • Arbetsytans ACR ligger bakom ett virtuellt nätverk (VNet) (privat slutpunkt eller tjänstslutpunkt) och beräkningsklustret som används för att skapa avbildningar har ingen åtkomst till arbetsytans ACR.

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.
  • Pipelinejobbfel.
  • Modelldistributionsfel.

Felsökningsanvisningar

  • Kontrollera att beräkningsklustrets virtuella nätverk har åtkomst till arbetsytans ACR.
  • Kontrollera att beräkningsklustret är CPU-baserat.

Kommentar

  • Endast Azure Machine Learning-beräkningskluster stöds. Beräkning, Azure Kubernetes Service (AKS) eller andra instanstyper stöds inte för beräkning av skapande av avbildning.

Resurser

Oväntat Dockerfile-format

Det här problemet kan inträffa när Din Dockerfile är felaktigt formaterad.

Möjliga orsaker:

  • Din Dockerfile innehåller ogiltig syntax
  • Dockerfile innehåller tecken som inte är kompatibla med UTF-8

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom det implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att Dockerfile är korrekt formaterat och kodat i UTF-8

Resurser

Docker-pull-problem

Det gick inte att hämta Docker-avbildningen

Det här problemet kan inträffa när en Docker-avbildningshämtning misslyckas under en avbildningsversion.

Möjliga orsaker:

  • Sökvägen till containerregistret är felaktig
  • Ett containerregister bakom ett virtuellt nätverk använder en privat slutpunkt i en region som inte stöds
  • Avbildningen som du försöker referera till finns inte i det containerregister som du har angett
  • Du har inte angett autentiseringsuppgifter för ett privat register som du försöker hämta avbildningen från, eller så är de angivna autentiseringsuppgifterna felaktiga

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Kontrollera att sökvägen till containerregistret är korrekt

  • För ett register my-registry.io och en avbildning test/image med taggen 3.2skulle en giltig avbildningssökväg vara my-registry.io/test/image:3.2
  • Se dokumentation om registersökväg

Om ditt containerregister ligger bakom ett virtuellt nätverk eller använder en privat slutpunkt i en region som inte stöds

  • Konfigurera containerregistret med hjälp av tjänstslutpunkten (offentlig åtkomst) från portalen och försök igen
  • När du har placerat containerregistret bakom ett virtuellt nätverk kör du Azure Resource Manager-mallen så att arbetsytan kan kommunicera med containerregisterinstansen

Om avbildningen som du försöker referera till inte finns i containerregistret som du har angett

  • Kontrollera att du har använt rätt tagg och att du har angett user_managed_dependencies till True. Inställningen user_managed_dependencies inaktiverar True conda och använder användarens installerade paket

Om du inte har angett autentiseringsuppgifter för ett privat register som du försöker hämta från, eller om de angivna autentiseringsuppgifterna är felaktiga

Resurser

I/O-fel

Det här problemet kan inträffa när en Docker-avbildningshämtning misslyckas på grund av ett nätverksproblem.

Möjliga orsaker:

  • Problem med nätverksanslutning, vilket kan vara tillfälligt
  • Brandväggen blockerar anslutningen
  • ACR kan inte nås och det finns nätverksisolering. Mer information finns i ACR som inte kan nås.

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Lägg till värden i brandväggsreglerna

Utvärdera konfigurationen av arbetsytan. Använder du ett virtuellt nätverk eller är någon av de resurser som du försöker komma åt under avbildningsbygget bakom ett virtuellt nätverk?

  • Se till att du har följt stegen i den här artikeln om att skydda en arbetsyta med virtuella nätverk
  • Azure Machine Learning kräver både inkommande och utgående åtkomst till det offentliga Internet. Om det uppstår ett problem med konfigurationen av det virtuella nätverket kan det vara problem med att komma åt vissa lagringsplatser som krävs under avbildningsversionen

Om du inte använder ett virtuellt nätverk eller om du har konfigurerat det korrekt

  • Försök att återskapa avbildningen. Om tidsgränsen berodde på ett nätverksproblem kan problemet vara tillfälligt och en ombyggnad kan åtgärda problemet

Conda-problem under bygget

Felaktig specifikation

Det här problemet kan inträffa när ett paket som anges i conda-specifikationen är ogiltigt eller när du har kört ett conda-kommando felaktigt.

Möjliga orsaker:

  • Syntaxen som du använde i conda-specifikationen är felaktig
  • Du kör ett conda-kommando felaktigt

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Conda-specifikationsfel kan inträffa om du använder kommandot conda create felaktigt

  • Läs dokumentationen och se till att du använder giltiga alternativ och syntax
  • Det finns känd förvirring angående conda env create kontra conda create. Du kan läsa mer om condas svar och andra användares kända lösningar här

Se till att du använder rätt syntax och giltig paketspecifikation i din conda yaml för att säkerställa en lyckad version

Kommunikationsfel

Det här problemet kan inträffa när det uppstår ett fel i kommunikationen med den entitet som du vill ladda ned paket som anges i din conda-specifikation.

Möjliga orsaker:

  • Det gick inte att kommunicera med en conda-kanal eller en paketlagringsplats
  • Dessa fel kan bero på tillfälliga nätverksfel

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Se till att de conda-kanaler/lagringsplatser som du använder i conda-specifikationen är korrekta

  • Kontrollera att de finns och att du har stavat dem korrekt

Om conda-kanalerna/lagringsplatserna är korrekta

  • Försök att återskapa avbildningen – det finns en risk att felet är tillfälligt och att en ombyggnad kan åtgärda problemet
  • Kontrollera att paketen som anges i conda-specifikationen finns i de kanaler/lagringsplatser som du har angett

Kompileringsfel

Det här problemet kan inträffa när det uppstår ett fel när ett paket som krävs för conda-miljön skapas på grund av ett kompilatorfel.

Möjliga orsaker:

  • Du stavade ett paket felaktigt och därför kändes det inte igen
  • Det är något fel på kompilatorn

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Om du använder en kompilator

  • Kontrollera att kompilatorn som du använder känns igen
  • Om det behövs lägger du till ett installationssteg i Dockerfile
  • Kontrollera kompilatorns version och kontrollera att alla kommandon eller alternativ som du använder är kompatibla med kompilatorversionen
  • Om det behövs uppgraderar du kompilatorversionen

Kontrollera att du har stavat alla listade paket korrekt och att du har fäst versionerna korrekt

Resurser

Kommandot saknas

Det här problemet kan inträffa när ett kommando inte identifieras under en avbildningsversion eller i det angivna Python-paketkravet.

Möjliga orsaker:

  • Du stavade inte kommandot korrekt
  • Det går inte att köra kommandot eftersom ett obligatoriskt paket inte är installerat

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att du har stavat kommandot korrekt
  • Kontrollera att du har installerat alla paket som behövs för att köra kommandot du försöker utföra
  • Om det behövs lägger du till ett installationssteg i Dockerfile

Resurser

Tidsgräns för Conda

Det här problemet kan inträffa när conda-paketlösningen tar för lång tid att slutföra.

Möjliga orsaker:

  • Det finns ett stort antal paket i conda-specifikationen och onödiga paket ingår
  • Du har inte fäst dina beroenden (du inkluderade tensorflow i stället för tensorflow=2.8)
  • Du har listat paket där det inte finns någon lösning (du har inkluderat paketet X=1.3 och Y=2.8, men X-versionen är inte kompatibel med Y:s version)

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Ta bort alla paket från din conda-specifikation som inte behövs
  • Fäst paketen – miljöupplösningen går snabbare
  • Om du fortfarande har problem kan du läsa den här artikeln för en djupgående titt på förståelse och förbättring av condas prestanda

Slut på minne

Det här problemet kan inträffa när conda-paketlösningen misslyckas på grund av att tillgängligt minne är slut.

Möjliga orsaker:

  • Det finns ett stort antal paket i conda-specifikationen och onödiga paket ingår
  • Du har inte fäst dina beroenden (du inkluderade tensorflow i stället för tensorflow=2.8)
  • Du har listat paket där det inte finns någon lösning (du har inkluderat paketet X=1.3 och Y=2.8, men X-versionen är inte kompatibel med Y:s version)

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Ta bort alla paket från din conda-specifikation som inte behövs
  • Fäst paketen – miljöupplösningen går snabbare
  • Om du fortfarande har problem kan du läsa den här artikeln för en djupgående titt på förståelse och förbättring av condas prestanda

Paketet hittades inte

Det här problemet kan inträffa när ett eller flera conda-paket som anges i din specifikation inte kan hittas i en kanal/lagringsplats.

Möjliga orsaker:

  • Du angav paketets namn eller version felaktigt i conda-specifikationen
  • Paketet finns i en conda-kanal som du inte angav i conda-specifikationen

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att du har stavat paketet korrekt och att den angivna versionen finns
  • Kontrollera att paketet finns på den kanal som du riktar in dig på
  • Kontrollera att du har listat kanalen/lagringsplatsen i conda-specifikationen så att paketet kan hämtas korrekt under paketmatchningen

Ange kanaler i din conda-specifikation:

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

Resurser

Python-modul saknas

Det här problemet kan inträffa när en Python-modul som anges i conda-specifikationen inte finns eller inte är giltig.

Möjliga orsaker:

  • Du stavade modulen felaktigt
  • Modulen känns inte igen

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att du har stavat modulen korrekt och att den finns
  • Kontrollera att modulen är kompatibel med den Python-version som du har angett i conda-specifikationen
  • Om du inte har listat en specifik Python-version i conda-specifikationen ska du se till att ange en specifik version som är kompatibel med modulen, annars kan en standardversion användas som inte är kompatibel

Fäst en Python-version som är kompatibel med pip-modulen som du använder:

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

Ingen matchande distribution

Det här problemet kan inträffa när det inte finns något paket som matchar den version som du har angett.

Möjliga orsaker:

  • Du stavade paketnamnet felaktigt
  • Det går inte att hitta paketet och versionen i de kanaler eller feeds som du har angett
  • Den angivna versionen finns inte

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att du har stavat paketet korrekt och att det finns
  • Kontrollera att den version som du angav för paketet finns
  • Kontrollera att du har angett den kanal som paketet ska installeras från. Om du inte anger en kanal används standardvärdena och dessa standardvärden kanske eller kanske inte har det paket som du letar efter

Så här listar du kanaler i en conda yaml-specifikation:

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

Resurser

Det går inte att skapa mpi4py

Det här problemet kan inträffa när det inte går att skapa hjul för mpi4py.

Möjliga orsaker:

  • Kraven för en lyckad mpi4py-installation uppfylls inte
  • Det är något fel med den metod som du har valt för att installera mpi4py

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Se till att du har en fungerande MPI-installation (inställning för MPI-3-stöd och för MPI som skapats med delade/dynamiska bibliotek)

Se till att du använder en kompatibel Python-version

  • Python 3.8+ rekommenderas på grund av att äldre versioner når slutet av livslängden
  • Se mpi4py-installation

Resurser

Interaktiv autentisering försöktes

Det här problemet kan inträffa när pip försöker utföra interaktiv autentisering under paketinstallationen.

Möjliga orsaker:

  • Du har listat ett paket som kräver autentisering, men du har inte angett autentiseringsuppgifter
  • Under avbildningsversionen försökte pip uppmana dig att autentisera vilket misslyckades med bygget eftersom du inte kan tillhandahålla interaktiv autentisering under en version

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Tillhandahålla autentisering via arbetsyteanslutningar

GÄLLER FÖR: Python SDK azureml v1

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

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

Skapa en arbetsyteanslutning från en YAML-specifikationsfil

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

Resurser

Förbjuden blob

Det här problemet kan inträffa när ett försök att komma åt en blob i ett lagringskonto avvisas.

Möjliga orsaker:

  • Auktoriseringsmetoden som du använder för att komma åt lagringskontot är ogiltig
  • Du försöker auktorisera via signatur för delad åtkomst (SAS), men SAS-token har upphört att gälla eller är ogiltig

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Läs följande för att förstå hur du auktoriserar åtkomst till blobdata i Azure Portal

Läs följande för att förstå hur du auktoriserar åtkomst till data i Azure Storage

Läs följande om du är intresserad av att använda SAS för att få åtkomst till Azure Storage-resurser

Horovod-version

Det här problemet kan inträffa när conda-miljön inte kan skapas eller uppdateras eftersom horovod inte kunde byggas.

Möjliga orsaker:

  • Horovod-installation kräver andra moduler som du inte har installerat
  • Horovod-installation kräver vissa bibliotek som du inte har inkluderat

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Många problem kan orsaka ett horovodfel, och det finns en omfattande lista över dem i Horovods dokumentation

  • Granska felsökningsguiden för horovod
  • Granska byggloggen för att se om det finns ett felmeddelande som visades när horovod inte kunde byggas
  • Det är möjligt att felsökningsguiden för horovod förklarar problemet du stöter på, tillsammans med en lösning

Resurser

Conda-kommandot hittades inte

Det här problemet kan inträffa när conda-kommandot inte identifieras när conda-miljön skapas eller uppdateras.

Möjliga orsaker:

  • Du har inte installerat conda i basavbildningen som du använder
  • Du har inte installerat conda via Din Dockerfile innan du försöker köra conda-kommandot
  • Du har inte inkluderat conda i din sökväg, eller så har du inte lagt till den i din sökväg

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Kontrollera att du har ett conda-installationssteg i Dockerfile innan du försöker köra conda-kommandon

Om du har provat att installera conda och har det här problemet kontrollerar du att du har lagt till conda i din sökväg

Resurser

  • Alla tillgängliga conda-distributioner finns på conda-lagringsplatsen

Inkompatibel Python-version

Det här problemet kan inträffa när ett paket har angetts i din conda-miljö som inte är kompatibel med din angivna Python-version.

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Använd en annan version av paketet som är kompatibel med din angivna Python-version

Du kan också använda en annan version av Python som är kompatibel med det paket som du har angett

  • Om du ändrar din Python-version använder du en version som stöds och som inte snart närmar sig slutet av livet
  • Se Datum för python-slutdatum

Resurser

Conda bare redirection

Det här problemet kan inträffa när du har angett ett paket på kommandoraden med "<" eller ">" utan att använda citattecken. Den här syntaxen kan orsaka att conda-miljön skapas eller uppdateras.

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Lägg till citattecken runt paketspecifikationen

  • Du kan till exempel ändra conda install -y pip<=20.1.1 till conda install -y "pip<=20.1.1"

UTF-8-avkodningsfel

Det här problemet kan inträffa när det inte går att avkoda ett tecken i conda-specifikationen. 

Möjliga orsaker:

  • Conda YAML-filen innehåller tecken som inte är kompatibla med UTF-8.

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Pip-problem under bygget

Det gick inte att installera paket

Det här problemet kan inträffa när avbildningsversionen misslyckas under installationen av Python-paketet.

Möjliga orsaker:

  • Det finns många problem som kan orsaka det här felet
  • Det här meddelandet är allmänt och visas när Azure Machine Learning-analysen ännu inte täcker det fel som du stöter på

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Läs build-loggen om du vill ha mer information om avbildningsgenereringsfelet

Lämna feedback till Azure Machine Learning-teamet för att analysera felet du upplever

Det går inte att avinstallera paketet

Det här problemet kan inträffa när pip inte kan avinstallera ett Python-paket som operativsystemets pakethanterare har installerat.

Möjliga orsaker:

  • Ett befintligt pip-problem eller en problematisk pip-version
  • Ett problem som uppstår när en isolerad miljö inte används

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Läs följande och ta reda på om ett befintligt pip-problem orsakade ditt fel

Prova följande

pip install --ignore-installed [package]

Prova att skapa en separat miljö med hjälp av conda

Ogiltig operator

Det här problemet kan inträffa när pip inte kan installera ett Python-paket på grund av en ogiltig operator som finns i kravet.

Möjliga orsaker:

  • Det finns en ogiltig operator i Python-paketkravet

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att du har stavat paketet korrekt och att den angivna versionen finns
  • Kontrollera att paketversionsspecificeraren är korrekt formaterad och att du använder giltiga jämförelseoperatorer. Se Versionsspecificerare
  • Ersätt den ogiltiga operatorn med operatorn som rekommenderas i felmeddelandet

Ingen matchande distribution

Det här problemet kan inträffa när det inte finns något paket som matchar den version som du har angett.

Möjliga orsaker:

  • Du stavade paketnamnet felaktigt
  • Det går inte att hitta paketet och versionen i de kanaler eller feeds som du har angett
  • Den angivna versionen finns inte

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att du har stavat paketet korrekt och att det finns
  • Kontrollera att den version som du angav för paketet finns
  • Kör pip install --upgrade pip och kör sedan det ursprungliga kommandot igen
  • Se till att pipen du använder kan installera paket för den önskade Python-versionen. Se Ska jag använda pip eller pip3?

Resurser

Ogiltigt hjulfilnamn

Det här problemet kan inträffa när du har angett en hjulfil felaktigt.

Möjliga orsaker:

  • Du stavade hjulfilnamnet felaktigt eller använde felaktig formatering
  • Det går inte att hitta den angivna hjulfilen

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Skapa problem

Inga mål har angetts och ingen makefil hittades

Det här problemet kan inträffa när du inte har angett några mål och ingen makefile hittas när du kör make.

Möjliga orsaker:

  • Makefile finns inte i den aktuella katalogen
  • Inga mål har angetts

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att du har stavat makefile korrekt
  • Kontrollera att makefile finns i den aktuella katalogen
  • Om du har en anpassad makefile anger du den med hjälp av make -f custommakefile
  • Ange mål i makefile eller på kommandoraden
  • Konfigurera din version och generera en makefile
  • Kontrollera att du har formaterat din makefile korrekt och att du har använt flikar för indrag

Resurser

Kopieringsproblem

Filen hittades inte

Det här problemet kan inträffa när Docker inte kan hitta och kopiera en fil.

Möjliga orsaker:

  • Källfilen hittades inte i Docker-kompileringskontexten
  • Källfilen exkluderas av .dockerignore

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom det implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att källfilen finns i Docker-byggkontexten
  • Kontrollera att käll- och målsökvägarna finns och är rättstavade
  • Kontrollera att källfilen inte visas i de .dockerignore aktuella och överordnade katalogerna
  • Ta bort eventuella avslutande kommentarer från samma rad som COPY kommandot

Resurser

Apt-Get-problem

Det gick inte att köra kommandot apt-get

Det här problemet kan inträffa när apt-get inte kan köras.

Möjliga orsaker:

  • Problem med nätverksanslutning, vilket kan vara tillfälligt
  • Brutna beroenden relaterade till paketet du kör apt-get på
  • Du har inte rätt behörighet att använda kommandot apt-get

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom det implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera nätverksanslutningen och DNS-inställningarna
  • Kör apt-get check för att söka efter brutna beroenden
  • Kör apt-get update och kör sedan det ursprungliga kommandot igen
  • Kör kommandot med -f flaggan, som försöker lösa problemet som kommer från de brutna beroendena
  • Kör kommandot med sudo behörigheter, till exempel sudo apt-get install <package-name>

Resurser

Problem med Docker-push

Det gick inte att lagra Docker-avbildningen

Det här problemet kan inträffa när det uppstår ett fel när en Docker-avbildning skickas till ett containerregister.

Möjliga orsaker:

  • Ett tillfälligt problem har uppstått med den ACR som är associerad med arbetsytan
  • Ett containerregister bakom ett virtuellt nätverk använder en privat slutpunkt i en region som inte stöds

Drabbade områden (symptom):

  • Fel i att skapa miljöer från användargränssnittet, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

Försök skapa miljön igen om du misstänker att felet är ett tillfälligt problem med arbetsytans Azure Container Registry (ACR)

Om ditt containerregister ligger bakom ett virtuellt nätverk eller använder en privat slutpunkt i en region som inte stöds

  • Konfigurera containerregistret med hjälp av tjänstslutpunkten (offentlig åtkomst) från portalen och försök igen
  • När du har placerat containerregistret bakom ett virtuellt nätverk kör du Azure Resource Manager-mallen så att arbetsytan kan kommunicera med containerregisterinstansen

Om du inte använder ett virtuellt nätverk eller om du har konfigurerat det korrekt testar du att dina autentiseringsuppgifter är korrekta för din ACR genom att prova en enkel lokal version

Okänt Docker-kommando

Okänd Docker-instruktion

Det här problemet kan inträffa när Docker inte känner igen en instruktion i Dockerfile.

Möjliga orsaker:

  • Okänd Docker-instruktion som används i Dockerfile
  • Din Dockerfile innehåller ogiltig syntax

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom det implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att Docker-kommandot är giltigt och stavat korrekt
  • Kontrollera att det finns ett utrymme mellan Docker-kommandot och argumenten
  • Kontrollera att det inte finns något onödigt tomt utrymme i Dockerfile
  • Kontrollera att Dockerfile är korrekt formaterat och kodat i UTF-8

Resurser

Kommandot hittades inte

Kommandot känns inte igen

Det här problemet kan inträffa när kommandot som körs inte identifieras.

Möjliga orsaker:

  • Du har inte installerat kommandot via Dockerfile innan du försöker köra kommandot
  • Du har inte inkluderat kommandot i sökvägen, eller så har du inte lagt till det i sökvägen

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom det implicit skapar miljön i det första steget.

Felsökningssteg Kontrollera att du har ett installationssteg för kommandot i Dockerfile innan du försöker köra kommandot

Om du har provat att installera kommandot och har det här problemet kontrollerar du att du har lagt till kommandot i sökvägen

Diverse byggproblem

Byggloggen är inte tillgänglig

Möjliga orsaker:

  • Azure Machine Learning har inte behörighet att lagra dina byggloggar i ditt lagringskonto
  • Ett tillfälligt fel uppstod när byggloggarna sparades
  • Ett systemfel uppstod innan en avbildningsversion utlöstes

Drabbade områden (symptom):

  • En lyckad version, men inga tillgängliga loggar.
  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom Azure Machine Learning implicit skapar miljön i det första steget.

Felsökningsanvisningar

En ombyggnad kan åtgärda problemet om det är tillfälligt

Det går inte att hitta avbildningen

Det här problemet kan inträffa när basavbildningen som du har angett inte kan hittas.

Möjliga orsaker:

  • Du har angett bilden felaktigt
  • Avbildningen som du angav finns inte i det register som du angav

Drabbade områden (symptom):

  • Fel vid skapande av miljöer från användargränssnitt, SDK och CLI.
  • Fel vid körning av jobb eftersom det implicit skapar miljön i det första steget.

Felsökningsanvisningar

  • Kontrollera att basavbildningen är korrekt stavad och formaterad
  • Kontrollera att basavbildningen som du använder finns i det register som du har angett

Resurser