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
base_image
base_dockerfile
build_context
- Se DockerSection
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
image
build
- Se azure.ai.ml.entities.Environment
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
base_image
base_dockerfile
build_context
- Se DockerSection
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
image
build
- Se azure.ai.ml.entities.Environment
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
- Se
DockerSection
inaktuella variabler
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
- Se metodtips
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
- Se BuildContext-klass
- Se det här exemplet
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
- Se BuildContext-klass
- Se det här exemplet
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
- Förstå byggkontext
- Python SDK v1-miljöklass
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
- Se översikten över det här lagringskontot
- Se hur du skapar ett 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
- Se tillgängliga basavbildningar
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
- Versionstagg
- Smälta
- Se bild med oföränderlig identifierare
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
Resurser
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
Resurser
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
Python-version rekommenderas inte
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_dependencies
på conda_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
- Ange den relativa sökvägen till conda-filen
- Se hur du skapar en miljö från en conda-specifikation
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
- Ange den relativa sökvägen till conda-filen
- Se hur du skapar en miljö från en conda-specifikation
Resurser
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
Base conda-miljö rekommenderas inte
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
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 avbildningtest/image
med taggen3.2
skulle en giltig avbildningssökväg varamy-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
tillTrue
. Inställningen user_managed_dependencies inaktiverarTrue
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
- Ange arbetsyteanslutningar för containerregistret om det behövs
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
- Se Konfigurera inkommande och utgående nätverkstrafik för att lära dig hur du använder Azure Firewall för din arbetsyta och resurser bakom ett virtuellt nätverk
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
kontraconda 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 mpi4py-installation
- Om det behövs följer du de här stegen för att skapa MPI
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
- Granska den här listan över conda-installationsprogram för att avgöra vad du behöver för ditt scenario
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
- Läs det här exemplet för vägledning
- Granska hur du anger miljövariabler i en Dockerfile
Resurser
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
tillconda 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
- Det går inte att avinstallera när du skapar Docker-avbildning
- pip 10 disutils partiell avinstallationsproblem
- pip 10 avinstallerar inte längre disutils-paket
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
- Kontrollera att du har stavat filnamnet korrekt och att det finns
- Kontrollera att du följer formatet för hjulfilnamn
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 exempelsudo apt-get install <package-name>
Resurser
- Pakethantering med APT
- Ubuntu Apt-Get
- Vad du ska göra när apt-get misslyckas
- apt-get-kommando i Linux med exempel
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
- Hämta autentiseringsuppgifter för arbetsytans ACR från Azure Portal
- Logga in på din ACR med hjälp av
docker login <myregistry.azurecr.io> -u "username" -p "password"
- För en bild "helloworld" testar du push-överföring till din ACR genom att köra
docker push helloworld
- Se Snabbstart: Skapa och köra en containeravbildning med hjälp av Azure Container Registry Tasks
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
- Granska det här exemplet
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
- Granska det här exemplet
- Granska hur du anger miljövariabler i en Dockerfile
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