Behandeln von Umgebungsproblemen
In diesem Artikel erfahren Sie, wie Sie gängige Probleme beheben, die beim Erstellen von Umgebungsimages auftreten können. Zudem lernen Sie Sicherheitsrisiken in AzureML-Umgebungen kennen.
Wir suchen aktiv nach Ihrem Feedback! Wenn Sie über Ihre Protokolle zur Umgebungsdefinition oder zur Analyse von Buildfehlern auf diese Seite gelangt sind, würden wir gerne erfahren, ob das Feature für Sie hilfreich war oder ob Sie ein Fehlerszenario melden möchten, das von unserer Analyse noch nicht abgedeckt ist. Sie können auch ein Feedback zu dieser Dokumentation abgeben. Hinterlassen Sie hier Ihre Meinung.
Azure Machine Learning-Umgebungen
Azure Machine Learning-Umgebungen sind eine Kapselung der Umgebung, in der Ihr Training für das maschinelle Lernen stattfindet. Sie geben das Docker-Basisimage, die Python-Pakete und die Softwareeinstellungen für Ihre Trainings- und Bewertungsskripts an. Umgebungen sind verwaltete Ressourcen mit Versionsangabe innerhalb Ihres Machine Learning-Arbeitsbereichs, die reproduzierbare, überprüfbare und portierbare Machine Learning-Workflows über verschiedene Computeziele hinweg ermöglichen.
Typen von Umgebungen
Umgebungen lassen sich in drei Kategorien einteilen: zusammengestellt, benutzerseitig verwaltet und systemseitig verwaltet.
Zusammengestellte Umgebungen sind vorab erstellte Umgebungen, die von Azure Machine Learning verwaltet werden und standardmäßig in jedem Arbeitsbereich verfügbar sind. Sie enthalten Sammlungen von Python-Paketen und -Einstellungen, die Ihnen den Einstieg in die verschiedenen Machine Learning-Frameworks erleichtern sollen. Sie sind dazu gedacht, sie so zu verwenden, wie sie sind. Diese vorab erstellten Umgebungen ermöglichen auch eine schnellere Bereitstellungszeit.
In benutzerverwalteten Umgebungen sind Sie für die Einrichtung Ihrer Umgebung und die Installation aller Pakete, die Ihr Trainingsskript auf dem Computeziel benötigt, verantwortlich. Stellen Sie außerdem sicher, dass Sie alle Abhängigkeiten einschließen, die für die Modellbereitstellung erforderlich sind.
Diese Arten von Umgebungen haben zwei Untertypen. Für den ersten Typ, BYOC (Bring Your Own Container), übernehmen Sie ein vorhandenes Docker-Image in Azure Machine Learning. Für den zweiten Typ, auf Docker-Buildkontext basierte Umgebungen, materialisiert Azure Machine Learning das Image aus dem von Ihnen bereitgestellten Kontext.
Wenn Sie möchten, dass Conda die Python-Umgebung für Sie verwaltet, verwenden Sie eine systemseitig verwaltete Umgebung. Azure Machine Learning erstellt eine neue isolierte Conda-Umgebung, indem Ihre Conda-Spezifikation auf einem Basisimage von Docker materialisiert wird. Standardmäßig fügt Azure Machine Learning dem abgeleiteten Image allgemeine Features hinzu. Alle Python-Pakete, die im Basisimage enthalten sind, stehen in der isolierten Conda-Umgebung nicht zur Verfügung.
Erstellen und Verwalten von Umgebungen
Sie können Umgebungen von Clients wie dem Azure Machine Learning Python SDK, der Azure Machine Learning-Befehlszeilenschnittstelle, der Azure Machine Learning Studio-Benutzeroberfläche oder der Visual Studio Code-Erweiterung erstellen und verwalten.
„Anonyme“ Umgebungen werden automatisch in Ihrem Arbeitsbereich registriert, wenn Sie ein Experiment übermitteln, ohne eine bereits vorhandene Umgebung zu registrieren oder darauf zu verweisen. Sie sind nicht aufgelistet, aber Sie können sie nach Version oder Bezeichnung abrufen.
Azure Machine Learning erstellt Umgebungsdefinitionen für Docker-Images. Außerdem werden die Images in Azure Container Registry, das Ihrem Azure Machine Learning-Arbeitsbereich zugeordnet ist, zwischengespeichert, sodass sie in nachfolgenden Trainingsaufträgen und Dienstendpunktbereitstellungen wiederverwendet werden können. Mehrere Umgebungen mit derselben Definition können zu demselben zwischengespeicherten Image führen.
Die Remoteausführung eines Trainingsskripts erfordert die Erstellung eines Docker-Images.
Sicherheitsrisiken in AzureML-Umgebungen
Sie können Sicherheitsrisiken behandeln, indem Sie ein Upgrade auf eine neuere Version einer Abhängigkeit (Basisimage, Python-Paket usw.) durchführen oder zu einer anderen Abhängigkeit migrieren, die die Sicherheitsanforderungen erfüllt. Die Behebung von Sicherheitsrisiken ist zeitaufwändig und kostspielig, da dies ein Refactoring von Code und Infrastruktur erfordern kann. Angesichts der Verbreitung von Open Source-Software und der Verwendung komplizierter geschachtelter Abhängigkeiten ist es wichtig, Sicherheitsrisiken zu behandeln und nachzuverfolgen.
Es gibt einige Möglichkeiten, die Auswirkungen von Sicherheitsrisiken zu verringern:
- Reduzieren der Anzahl von Abhängigkeiten: Verwenden Sie den minimalen Satz von Abhängigkeiten für die einzelnen Szenarien.
- Unterteilen Sie Ihre Umgebung, sodass Sie Probleme auf einen Bereich eingrenzen und beheben können.
- Verstehen Sie die gekennzeichneten Sicherheitsrisiken und ihre Bedeutung für Ihr Szenario.
Überprüfen auf Sicherheitsrisiken
Sie können die Umgebungsfreundlichkeit mit Microsoft Defender für Container Registry überwachen und warten, um Images auf Sicherheitsrisiken zu überprüfen.
Informationen zum Automatisieren dieses Prozesses basierend auf Triggern von Microsoft Defender finden Sie unter Automatisieren von Antworten auf Microsoft Defender für Cloudtrigger.
Sicherheitsrisiken im Vergleich zu Reproduzierbarkeit
Reproduzierbarkeit ist eine der Grundlagen der Softwareentwicklung. Bei der Entwicklung von Produktionscode muss ein wiederholter Vorgang das gleiche Ergebnis garantieren. Das Beheben von Sicherheitsrisiken kann die Reproduzierbarkeit beeinträchtigen, indem Abhängigkeiten geändert werden.
Das Hauptaugenmerk von Azure Machine Learning liegt auf der Gewährleistung der Reproduzierbarkeit. Umgebungen lassen sich in drei Kategorien einteilen: zusammengestellt, benutzerseitig verwaltet und systemseitig verwaltet.
Zusammengestellte Umgebungen
Zusammengestellte Umgebungen sind vorab erstellte Umgebungen, die von Azure Machine Learning verwaltet werden und standardmäßig in jedem bereitgestellten Azure Machine Learning-Arbeitsbereich verfügbar sind. Es werden neue Versionen von Azure Machine Learning veröffentlicht, um Sicherheitsrisiken zu beheben. Die Verwendung des neuesten Images kann einen Kompromiss zwischen Reproduzierbarkeit und Sicherheitsrisikomanagement darstellen.
Kuratierte Umgebungen enthalten Sammlungen von Python-Paketen und -Einstellungen, die Ihnen helfen, verschiedene Machine Learning-Frameworks zu starten. Sie sollen sie so verwenden, wie sie sind. Diese vorab erstellten Umgebungen ermöglichen auch eine schnellere Bereitstellungszeit.
Benutzerseitig verwaltete Umgebungen
In benutzerverwalteten Umgebungen sind Sie für die Einrichtung Ihrer Umgebung und die Installation aller Pakete, die Ihr Trainingsskript auf dem Computeziel und für die Modellimplementierung benötigt, verantwortlich. Diese Arten von Umgebungen haben zwei Untertypen:
- BYOC (Bring Your Own Container): Der Benutzer stellt ein Docker-Image in Azure Machine Learning bereit.
- Docker-Buildkontext: Azure Machine Learning materialisiert das Image aus dem vom Benutzer bereitgestellten Inhalt.
Sobald Sie weitere Abhängigkeiten auf einem von Microsoft bereitgestellten Image installieren oder Ihr eigenes Basisimage verwenden, liegt die Verantwortung für das Sicherheitsrisiko bei Ihnen.
Systemseitig verwaltete Umgebungen
Sie verwenden systemverwaltete Umgebungen, wenn Sie möchten, dass Conda die Python-Umgebung für Sie verwalten soll. Azure Machine Learning erstellt eine neue isolierte Conda-Umgebung, indem Ihre Conda-Spezifikation auf einem Basisimage von Docker materialisiert wird. Während Azure Machine Learning Basisimages mit jedem Release patcht, kann die Verwendung des neuesten Images einen Kompromiss zwischen Reproduzierbarkeit und Sicherheitsrisikomanagement darstellen. Daher liegt es in Ihrer Verantwortung, die Umgebungsversion zu wählen, die Sie für Ihre Aufträge oder Modellimplementierungen verwenden, wenn Sie systemverwaltete Umgebungen verwenden.
Sicherheitsrisiken: Häufige Probleme
Sicherheitsrisiken in Docker-Basisimages
Systemsicherheitsrisiken in einer Umgebung werden in der Regel über das Basisimage eingeführt. Beispielsweise stammen Sicherheitsrisiken, die als „Ubuntu“ oder „Debian“ gekennzeichnet sind, von der Systemebene der Umgebung – dem Docker-Basisimage. Wenn das Basisimage von einem Drittanbieteraussteller stammt, überprüfen Sie, ob die neueste Version Korrekturen für die gekennzeichneten Sicherheitsrisiken enthält. Folgende sind die häufigsten Quellen für die Basisimages in Azure Machine Learning:
- Microsoft-Artefaktregistrierung (MAR), auch bekannt als Microsoft Container Registry (mcr.microsoft.com).
- Images können über die MAR-Homepage durch Aufrufen der Katalog-API oder von /tags/list aufgelistet werden.
- Quell- und Versionshinweise für Trainingsbasisimages aus AzureML finden Sie unter Azure/AzureML-Containers.
- Nvidia (nvcr.io oder Nvidia-Profil).
Wenn Ihre Sicherheitsrisiken nicht durch die neueste Version des Basisimages behoben werden, behandeln Sie Sicherheitsrisiken des Basisimages, indem Sie die von einer Sicherheitsrisikoüberprüfung empfohlenen Versionen installieren:
apt-get install -y library_name
Sicherheitsrisiken in Python-Paketen
Sicherheitsrisiken können auch aus installierten Python-Paketen auf dem systemseitig verwalteten Basisimage stammen. Diese Python-bezogenen Sicherheitsrisiken sollten durch Aktualisieren Ihrer Python-Abhängigkeiten behoben werden. Python-Sicherheitsrisiken (pip) im Image stammen in der Regel aus benutzerdefinierten Abhängigkeiten.
Informationen zum Suchen nach bekannten Python-Sicherheitsrisiken und -lösungen finden Sie in der GitHub Advisory Database. Um Python-Sicherheitsrisiken zu beheben, aktualisieren Sie das Paket auf die Version, die Korrekturen für das gekennzeichnete Problem enthält:
pip install -u my_package=={good.version}
Wenn Sie eine Conda-Umgebung verwenden, aktualisieren Sie den Verweis in der Conda-Abhängigkeitsdatei.
In einigen Fällen werden Python-Pakete während der Conda-Einrichtung Ihrer Umgebung automatisch auf einem Docker-Basisimage installiert. Die entsprechenden Schritte zur Behebung sind identisch mit denen für von Benutzer*innen eingeführte Pakete. Conda installiert die erforderlichen Abhängigkeiten für jede Umgebung, die es materialisiert. Pakete wie beispielsweise „cryptography“, „setuptools“ oder „wheel“ werden automatisch über die Conda-Standardkanäle installiert. Es gibt ein bekanntes Problem, dass im Anaconda-Standardkanal die neuesten Paketversionen fehlen. Daher wird empfohlen, den von der Community verwalteten conda-forge-Kanal zu priorisieren. Geben Sie andernfalls Pakete und Versionen explizit an, selbst wenn Sie in dem Code, den Sie in dieser Umgebung ausführen möchten, nicht darauf verweisen.
Cacheprobleme
Ihrem Azure Machine Learning Arbeitsbereich zugeordnet ist eine Azure Container Registry Instanz, die ein Cache für Containerimages ist. Jedes materialisierte Image wird in die Containerregistrierung übertragen und verwendet, wenn Experimente oder Bereitstellungen für die entsprechende Umgebung ausgelöst werden. Azure Machine Learning löscht keine Images aus Ihrer Containerregistrierung, und es liegt in Ihrer Verantwortung, zu beurteilen, welche Images Sie im Laufe der Zeit beibehalten müssen.
Behandeln von Problemen beim Erstellen von Umgebungsimages
Es wird beschrieben, wie Sie die Problembehandlung durchführen, wenn Probleme mit dem Buildvorgang für Umgebungsimages und mit der Paketinstallation auftreten.
Probleme bei der Umgebungsdefinition
Probleme mit dem Umgebungsnamen
Zusammengestelltes Präfix nicht zulässig
Dieses Problem kann auftreten, wenn der Name Ihrer benutzerdefinierten Umgebung Begriffe verwendet, die nur für zusammengestellte Umgebungen reserviert sind. Zusammengestellte Umgebungen sind von Microsoft verwaltete Umgebungen. Benutzerdefinierte Umgebungen sind Umgebungen, die Sie erstellen und verwalten.
Mögliche Ursachen:
- Ihr Umgebungsname beginnt mit Microsoft oder AzureML.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Aktualisieren Sie Ihren Umgebungsnamen, um das reservierte Präfix, das Sie derzeit verwenden, auszuschließen.
Ressourcen
Name der Umgebung ist zu lang
Mögliche Ursachen:
- Ihr Umgebungsname ist länger als 255 Zeichen.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Aktualisieren Sie Ihren Umgebungsnamen so, dass er maximal 255 Zeichen lang ist.
Docker-Probleme
GILT FÜR: Azure CLI-ML-Erweiterung v1
GILT FÜR: Python SDK azureml v1
Zum Erstellen einer neuen Umgebung müssen Sie eine der folgenden Methoden verwenden (siehe DockerSection):
- Basisimage
- Geben Sie den Namen des Basisimages, das Repository, aus dem es gepullt werden soll, und ggf. Anmeldeinformationen an.
- Bereitstellen einer Conda-Spezifikation
- Basis-Dockerfile
- Bereitstellen einer Dockerfile
- Bereitstellen einer Conda-Spezifikation
- Docker-Buildkontext
- Bereitstellen des Speicherorts des Buildkontexts (URL)
- Der Buildkontext muss mindestens eine Dockerfile enthalten, kann aber auch andere Dateien enthalten.
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Zum Erstellen einer neuen Umgebung müssen Sie eine der folgenden Methoden verwenden:
- Docker-Image
- Stellen Sie den Image-URI des Images bereit, das in einer Registrierung wie Docker Hub oder Azure Container Registry gehostet wird.
- Beispiel
- Docker-Buildkontext
- Geben Sie das Verzeichnis an, das als Buildkontext dient.
- Das Verzeichnis sollte ein Dockerfile und alle anderen Dateien enthalten, die zum Erstellen des Images erforderlich sind.
- Beispiel
- Conda-Spezifikation
- Sie müssen ein Docker-Basisimage für die Umgebung angeben. Azure Machine Learning erstellt die Conda-Umgebung auf der Grundlage des bereitgestellten Docker-Images.
- Geben Sie den relativen Pfad zur Conda-Datei an.
- Beispiel
Fehlende Docker-Definition
GILT FÜR: Python SDK azureml v1
Dieses Problem kann auftreten, wenn in Ihrer Umgebungsdefinition ein DockerSection
fehlt. In diesem Abschnitt werden die Einstellungen für das endgültige Docker-Image konfiguriert, das aus Ihrer Umgebungsspezifikation erstellt wird.
Mögliche Ursachen:
- Sie haben den
DockerSection
Ihrer Umgebungsdefinition nicht angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Fügen Sie Ihrer Umgebungsdefinition einen DockerSection
hinzu, indem Sie entweder ein Basisimage, eine Basis-Dockerfile oder einen Docker-Buildkontext angeben.
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
Ressourcen
Zu viele Docker-Optionen
Mögliche Ursachen:
GILT FÜR: Python SDK azureml v1
Sie haben mehr als eine dieser Docker-Optionen in Ihrer Umgebungsdefinition angegeben.
base_image
base_dockerfile
build_context
- Siehe DockerSection.
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Sie haben mehr als eine dieser Docker-Optionen in Ihrer Umgebungsdefinition angegeben.
image
build
- Siehe azure.ai.ml.entities.Environment.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Wählen Sie aus, welche Docker-Option Sie zum Erstellen Ihrer Umgebung verwenden möchten. Legen Sie dann alle anderen angegebenen Optionen auf „Keine“ fest.
GILT 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
Fehlende Docker-Option
Mögliche Ursachen:
Sie haben in Ihrer Umgebungsdefinition keine der folgenden Optionen angegeben
base_image
base_dockerfile
build_context
- Siehe DockerSection.
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Sie haben in Ihrer Umgebungsdefinition keine der folgenden Optionen angegeben
image
build
- Siehe azure.ai.ml.entities.Environment.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Wählen Sie die Docker-Option aus, die Sie zum Erstellen Ihrer Umgebung verwenden möchten, und füllen Sie diese Option dann in Ihrer Umgebungsdefinition auf.
GILT FÜR: Python SDK azureml v1
from azureml.core import Environment
myenv = Environment(name="myEnv")
myenv.docker.base_image = "pytorch/pytorch:latest"
GILT 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)
Ressourcen
Entweder Benutzername oder Kennwort fehlt für Anmeldeinformationen bei Containerregistrierung
Mögliche Ursachen:
- Sie haben entweder einen Benutzernamen oder ein Kennwort für Ihre Containerregistrierung in Ihrer Umgebungsdefinition angegeben, aber nicht beides.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Fügen Sie der Umgebungsdefinition den fehlenden Benutzernamen oder das fehlende Kennwort hinzu, um das Problem zu beheben.
myEnv.docker.base_image_registry.username = "username"
Alternativ können Sie die Authentifizierung über Arbeitsbereichsverbindungen bereitstellen.
from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
Erstellen einer Arbeitsbereichsverbindung aus einer YAML-Spezifikationsdatei
az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace
Hinweis
- Die Angabe von Anmeldeinformationen in Ihrer Umgebungsdefinition wird nicht mehr unterstützt. Verwenden Sie stattdessen Arbeitsbereichsverbindungen.
Ressourcen
Mehrere Anmeldeinformationen für die Registrierung von Basisimages
Mögliche Ursachen:
- Sie haben mehrere Sätze von Anmeldeinformationen für Ihre Basisimageregistrierung angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Wenn Sie Arbeitsbereichsverbindungen verwenden, zeigen Sie die eingerichteten Verbindungen an, und löschen Sie alle, die Sie nicht verwenden möchten.
from azureml.core import Workspace
ws = Workspace.from_config()
ws.list_connections()
ws.delete_connection("myConnection2")
Wenn Sie Anmeldeinformationen in Ihrer Umgebungsdefinition angegeben haben, wählen Sie einen Satz von Anmeldeinformationen zur Verwendung aus, und legen Sie alle anderen auf NULL fest.
myEnv.docker.base_image_registry.registry_identity = None
Hinweis
- Die Angabe von Anmeldeinformationen in Ihrer Umgebungsdefinition wird nicht mehr unterstützt. Verwenden Sie stattdessen Arbeitsbereichsverbindungen.
Ressourcen
Geheimnisse bei der Registrierung von Basisimages
Mögliche Ursachen:
- Sie haben Anmeldeinformationen in Ihrer Umgebungsdefinition angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Die Angabe von Anmeldeinformationen in Ihrer Umgebungsdefinition wird nicht mehr unterstützt. Löschen Sie Anmeldeinformationen aus Ihrer Umgebungsdefinition, und verwenden Sie stattdessen Arbeitsbereichsverbindungen.
GILT FÜR: Python SDK azureml v1
Einrichten einer Arbeitsbereichsverbindung für Ihren Arbeitsbereich
from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
Erstellen einer Arbeitsbereichsverbindung aus einer YAML-Spezifikationsdatei
az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace
Ressourcen
Veraltetes Docker-Attribut
Mögliche Ursachen:
- Sie haben in Ihrer Umgebungsdefinition Docker-Attribute angegeben, die jetzt veraltet sind.
- Die folgenden Eigenschaften sind veraltet:
enabled
arguments
shared_volumes
gpu_support
- Azure Machine Learning erkennt die NVIDIA Docker-Erweiterung jetzt automatisch und verwendet sie, sofern verfügbar.
smh_size
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Verwenden Sie DockerConfiguration, anstatt diese Attribute in Ihrer DockerSection
-Umgebungsdefinition anzugeben.
Ressourcen
- Weitere Informationen finden Sie unter
DockerSection
Veraltete Variablen
Dockerfile-Länge über dem Grenzwert
Mögliche Ursachen:
- Ihr angegebenes Dockerfile überschreitet die maximale Größe von 100 KB.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Kürzen Sie Ihr Dockerfile, um es unter diesem Grenzwert zu halten.
Ressourcen
- Sehen Sie sich die bewährten Methoden an.
Probleme mit dem Docker-Buildkontext
Fehlender Speicherort für Docker-Buildkontext
Mögliche Ursachen:
- Sie haben den Pfad Ihres Buildkontextverzeichnisses nicht in Ihrer Umgebungsdefinition angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Schließen Sie einen Pfad im Abschnitt build_context
Ihrer DockerSection ein.
- Weitere Informationen finden Sie unter DockerBuildContext-Klasse.
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Stellen Sie sicher, dass Sie einen Pfad für Ihren Buildkontext einschließen.
- Weitere Informationen finden Sie unter BuildContext-Klasse.
- Sehen Sie sich dieses Beispiel an.
Ressourcen
Fehlender Dockerfile-Pfad
Dieses Problem kann auftreten, wenn Azure Machine Learning Ihre Dockerfile nicht finden kann. Azure Machine Learning sucht standardmäßig nach einer Dockerfile namens „Dockerfile“ im Stammverzeichnis Ihres Buildkontexts, es sei denn, Sie geben einen Dockerfile-Pfad an.
Mögliche Ursachen:
- Ihr Dockerfile befindet sich nicht im Stammverzeichnis Ihres Buildkontextverzeichnisses oder heißt nicht „Dockerfile“, und Sie haben den Pfad nicht angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Schließen Sie dockerfile_path
im Abschnitt build_context
Ihrer DockerSection ein.
- Weitere Informationen finden Sie unter DockerBuildContext-Klasse.
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Geben Sie einen Dockerfile-Pfad an.
- Weitere Informationen finden Sie unter BuildContext-Klasse.
- Sehen Sie sich dieses Beispiel an.
Ressourcen
Es ist nicht zulässig, ein Attribut mit dem Docker-Buildkontext anzugeben
Dieses Problem kann auftreten, wenn Sie in Ihrer Umgebungsdefinition Eigenschaften angegeben haben, die nicht in einen Docker-Buildkontext eingeschlossen werden können.
Mögliche Ursachen:
- Sie haben einen Docker-Buildkontext sowie mindestens eine der folgenden Eigenschaften in Ihrer Umgebungsdefinition angegeben:
- Umgebungsvariablen
- Conda-Abhängigkeiten
- R
- Spark
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Wenn eine der oben aufgeführten Eigenschaften in Ihrer Umgebungsdefinition angegeben ist, entfernen Sie sie.
- Wenn Sie einen Docker-Buildkontext verwenden und conda-Abhängigkeiten angeben möchten, sollte sich Ihre conda-Spezifikation in Ihrem Buildkontextverzeichnis befinden.
Ressourcen
- Grundlegendes zum Buildkontext
- Umgebungsklasse im Python SDK v1
Speicherorttyp nicht unterstützt/Unbekannter Speicherorttyp
Mögliche Ursachen:
- Sie haben einen Speicherorttyp für Ihren Docker-Buildkontext angegeben, der nicht unterstützt wird oder unbekannt ist.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Im Folgenden sind die akzeptierten Speicherorttypen aufgeführt:
- Git
- Sie können Azure Machine Learning zwar Git-URLs zur Verfügung stellen, aber Sie können diese noch nicht zum Erstellen von Images verwenden. Verwenden Sie ein Speicherkonto, bis die Builds über Git-Unterstützung verfügen.
- Speicherkonto
- Weitere Informationen finden Sie in dieser Speicherkontoübersicht.
- Erfahren Sie, wie Sie ein Speicherkonto erstellen.
Ressourcen
- Weitere Informationen finden Sie unter DockerBuildContext-Klasse.
- Grundlegendes zum Buildkontext
Ungültiger Speicherort
Mögliche Ursachen:
- Der angegebene Speicherort des Docker-Buildkontexts ist ungültig.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Für Szenarien, in denen Sie Ihren Docker-Buildkontext in einem Speicherkonto speichern
Sie müssen den Pfad des Buildkontexts wie folgt angeben:
https://<storage-account>.blob.core.windows.net/<container>/<path>
Stellen Sie sicher, dass es sich bei dem angegebenen Standort um eine gültige URL handelt.
Stellen Sie sicher, dass Sie einen Container und einen Pfad angegeben haben.
Ressourcen
- Weitere Informationen finden Sie unter DockerBuildContext-Klasse.
- Beispiel für Python SDK/Azure CLI v2
- Grundlegendes zum Buildkontext
Basisimageprobleme
Basisimage ist veraltet
Mögliche Ursachen:
- Sie haben ein veraltetes Basisimage verwendet.
- Azure Machine Learning kann bei der Problembehandlung für fehlerhafte Builds mit veralteten Images keine Unterstützung anbieten.
- Azure Machine Learning aktualisiert oder verwaltet diese Images nicht, sodass sie Sicherheitsrisiken ausgesetzt sind.
Die folgenden Basisimages sind veraltet:
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
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Aktualisieren Sie Ihr Basisimage auf eine neueste Version der unterstützten Images.
- Weitere Informationen finden Sie bei den verfügbaren Basisimages.
Kein Tag oder Digest
Mögliche Ursachen:
- Sie haben kein Versionstag und kein Digest in das angegebene Basisimage eingeschlossen.
- Ohne einen dieser Spezifizierer kann die Umgebung nicht reproduziert werden.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Geben Sie in Ihrem Basisimage mindestens einen der folgenden Parameter an,
- Versionstag
- Digest
- Siehe Image mit unveränderlichem Bezeichner.
Probleme mit Umgebungsvariablen
Falsch platzierte Laufzeitvariablen
Mögliche Ursachen:
- Sie haben Laufzeitvariablen in Ihrer Umgebungsdefinition angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Verwenden Sie stattdessen das environment_variables
-Attribut für das RunConfiguration-Objekt.
Python-Probleme
Python-Abschnitt fehlt
Mögliche Ursachen:
- Ihre Umgebungsdefinition weist keinen Python-Abschnitt auf.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Füllen Sie den Python-Abschnitts Ihrer Umgebungsdefinition aus.
- Siehe PythonSection-Klasse.
Python-Version fehlt
Mögliche Ursachen:
- Sie haben keine Python-Version in Ihrer Umgebungsdefinition angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Fügen Sie Python als conda-Paket hinzu, und geben Sie die Version an.
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
Wenn Sie YAML-Code für Ihre conda-Spezifikation verwenden, schließen Sie Python als Abhängigkeit ein.
name: project_environment
dependencies:
- python=3.8
- pip:
- azureml-defaults
channels:
- anaconda
Ressourcen
Mehrere Python-Versionen
Mögliche Ursachen:
- Sie haben in Ihrer Umgebungsdefinition mehrere Python-Versionen angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Wählen Sie aus, welche Python-Version Sie verwenden möchten, und entfernen Sie alle anderen.
myenv.python.conda_dependencies.remove_conda_package("python=3.8")
Wenn Sie YAML-Code für Ihre conda-Spezifikation verwenden, schließen Sie nur eine Python-Version als Abhängigkeit ein.
Ressourcen
Python-Version wird nicht unterstützt
Mögliche Ursachen:
- Sie haben eine Python-Version angegeben, die sich am Ende ihrer Lebensdauer befindet oder sich ihr nähert und nicht mehr unterstützt wird.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Geben Sie eine Python-Version an, deren Lebensende noch nicht erreicht wurde und sich nicht nähert.
Python-Version wird nicht empfohlen
Mögliche Ursachen:
- Sie haben eine Python-Version angegeben, die sich am Ende ihrer Lebensdauer befindet oder sich ihr nähert.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Geben Sie eine Python-Version an, deren Lebensende noch nicht erreicht wurde und sich nicht nähert.
Python-Version konnte nicht überprüft werden
Mögliche Ursachen:
- Sie haben eine Python-Version mit falscher Syntax oder falscher Formatierung angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Verwenden Sie die richtige Syntax zum Angeben einer Python-Version mithilfe des SDK.
myenv.python.conda_dependencies.add_conda_package("python=3.8")
Verwenden Sie die richtige Syntax zum Angeben einer Python-Version in conda-YAML.
name: project_environment
dependencies:
- python=3.8
- pip:
- azureml-defaults
channels:
- anaconda
Ressourcen
- Siehe Anheften von Conda-Paketen.
Conda-Probleme
Fehlende Conda-Abhängigkeiten
Mögliche Ursachen:
- Sie haben in Ihrer Umgebungsdefinition keine conda-Spezifikation bereitgestellt, und
user_managed_dependencies
ist aufFalse
(Standard) festgelegt.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Wenn Sie Azure Machine Learning keine Python-Umgebung auf der Basis von conda_dependencies,
für Sie erstellen soll, legen Sie user_managed_dependencies
auf True
fest.
env.python.user_managed_dependencies = True
- Sie müssen sicherstellen, dass alle erforderlichen Pakete in der Python-Umgebung verfügbar sind, in der Sie das Skript ausführen möchten.
Wenn Sie möchten, dass Azure Machine Learning eine Python-Umgebung für Sie erstellt, die auf einer Conda-Spezifikation basiert, müssen Sie in Ihrer Umgebungsdefinition conda_dependencies
auffüllen.
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
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Sie müssen ein Docker-Basisimage für die Umgebung angeben. Azure Machine Learning erstellt dann die Conda-Umgebung auf der Grundlage dieses Images.
- Geben Sie den relativen Pfad zur Conda-Datei an.
- Erfahren Sie, wie Sie eine Umgebung aus einer conda-Spezifikation erstellen.
Ressourcen
- Erfahren Sie, wie Sie eine Conda-Datei manuell erstellen.
Ungültige Conda-Abhängigkeiten
Mögliche Ursachen:
- Sie haben die in Ihrer Umgebungsdefinition angegebenen Conda-Abhängigkeiten falsch formatiert.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
GILT FÜR: Python SDK azureml v1
Stellen Sie sicher, dass es sich bei conda_dependencies
um eine in JSON umgewandelte Version der YAML-Struktur der conda-Abhängigkeiten handelt.
"condaDependencies": {
"channels": [
"anaconda",
"conda-forge"
],
"dependencies": [
"python=3.8",
{
"pip": [
"azureml-defaults"
]
}
],
"name": "project_environment"
}
Sie können Conda-Abhängigkeiten auch mit der add_conda_package
-Methode angeben.
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
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Sie müssen ein Docker-Basisimage für die Umgebung angeben. Azure Machine Learning erstellt dann die Conda-Umgebung auf der Grundlage dieses Images.
- Geben Sie den relativen Pfad zur Conda-Datei an.
- Erfahren Sie, wie Sie eine Umgebung aus einer conda-Spezifikation erstellen.
Ressourcen
- Weitere Informationen finden Sie in den ausführlicheren Beispielen.
- Erfahren Sie, wie Sie eine Conda-Datei manuell erstellen.
- Siehe CondaDependencies-Klasse.
- Erfahren Sie, wie Sie eine Conda-Spezifikation für die Umgebungsdefinition festlegen.
Fehlende Conda-Kanäle
Mögliche Ursachen:
- Sie haben keine conda-Kanäle in Ihrer Umgebungsdefinition angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Um die Reproduzierbarkeit Ihrer Umgebung sicherzustellen, geben Sie Kanäle an, aus denen Sie Abhängigkeiten pullen. Wenn Sie keine Conda-Kanäle angeben, verwendet Conda Standardwerte, die sich ändern können.
GILT FÜR: Python SDK azureml v1
Fügen Sie einen conda-Kanals mithilfe des Python SDK hinzu.
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
Wenn Sie YAML-Code für Ihre conda-Spezifikation verwenden, schließen Sie die conda-Kanäle ein, die Sie verwenden möchten.
name: project_environment
dependencies:
- python=3.8
- pip:
- azureml-defaults
channels:
- anaconda
- conda-forge
Ressourcen
- Erfahren Sie, wie Sie eine conda-Spezifikation für die Umgebungsdefinition festlegen v1.
- Siehe CondaDependencies-Klasse.
- Erfahren Sie, wie Sie eine Conda-Datei manuell erstellen.
- Erfahren Sie, wie Sie eine Umgebung aus einer conda-Spezifikation erstellen v2.
- Erfahren Sie, wie Sie eine Conda-Datei manuell erstellen.
Conda-Basisumgebung wird nicht empfohlen
Mögliche Ursachen:
- Sie haben eine conda-Basisumgebung in Ihrer Umgebungsdefinition angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Partielle Umgebungsaktualisierungen können zu Abhängigkeitskonflikten oder unerwarteten Laufzeitfehlern führen, daher wird die Verwendung von conda-Basisumgebungen nicht empfohlen.
GILT FÜR: Python SDK azureml v1
Entfernen Sie Ihre conda-Basisumgebung, und geben Sie im Abschnitt conda_dependencies
Ihrer Umgebungsdefinition alle Pakete an, die für Ihre Umgebung erforderlich sind.
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
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)
Definieren Sie eine Umgebung mithilfe einer standardmäßigen conda-YAML-Konfigurationsdatei.
Ressourcen
- Erfahren Sie, wie Sie eine conda-Spezifikation für die Umgebungsdefinition festlegen v1.
- Siehe CondaDependencies-Klasse.
- Erfahren Sie, wie Sie eine Conda-Datei manuell erstellen.
- Erfahren Sie, wie Sie eine Conda-Datei manuell erstellen.
Gelöste Abhängigkeiten
Mögliche Ursachen:
- Sie haben keine Versionen für bestimmte Pakete in Ihrer conda-Spezifikation angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Wenn Sie keine Abhängigkeitsversion angeben, kann der Conda-Paketauflöser für nachfolgende Builds derselben Umgebung eine andere Version des Pakets auswählen. Dies unterbricht die Reproduzierbarkeit der Umgebung und kann zu unerwarteten Fehlern führen.
GILT FÜR: Python SDK azureml v1
Schließen Sie beim Hinzufügen von Paketen zu Ihrer conda-Spezifikation Versionsnummern ein.
from azureml.core.environment import CondaDependencies
conda_dep = CondaDependencies()
conda_dep.add_conda_package("numpy==1.24.1")
Wenn Sie für Ihre conda-Spezifikation YAML verwenden, geben Sie Versionen für Ihre Abhängigkeiten an.
name: project_environment
dependencies:
- python=3.8
- pip:
- numpy=1.24.1
channels:
- anaconda
- conda-forge
Ressourcen
- Siehe Anheften von Conda-Paketen.
Pip-Probleme
Pip nicht angegeben
Mögliche Ursachen:
- Sie haben pip nicht als Abhängigkeit in Ihrer conda-Spezifikation angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Um die Reproduzierbarkeit zu gewährleisten, sollten Sie pip als Abhängigkeit in Ihrer Conda-Spezifikation angeben und anheften.
GILT FÜR: Python SDK azureml v1
Geben Sie pip zusammen mit der Version als Abhängigkeit an.
env.python.conda_dependencies.add_conda_package("pip==22.3.1")
Wenn Sie YAML-Code für Ihre conda-Spezifikation verwenden, geben Sie pip als Abhängigkeit an.
name: project_environment
dependencies:
- python=3.8
- pip=22.3.1
- pip:
- numpy=1.24.1
channels:
- anaconda
- conda-forge
Ressourcen
- Siehe Anheften von Conda-Paketen.
Pip nicht angeheftet
Mögliche Ursachen:
- Sie haben in Ihrer conda-Spezifikation keine Version für pip angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Wenn Sie keine pip-Version angeben, kann für nachfolgende Builds derselben Umgebung eine andere Version verwendet werden. Dieses Verhalten kann zu Reproduzierbarkeitsproblemen und anderen unerwarteten Fehlern führen, wenn verschiedene Versionen von pip Ihre Pakete unterschiedlich auflösen.
GILT FÜR: Python SDK azureml v1
Geben Sie in Ihren conda-Abhängigkeiten eine pip-Version an.
env.python.conda_dependencies.add_conda_package("pip==22.3.1")
Wenn Sie YAML-Code für Ihre conda-Spezifikation verwenden, geben Sie eine Version für pip an.
name: project_environment
dependencies:
- python=3.8
- pip=22.3.1
- pip:
- numpy=1.24.1
channels:
- anaconda
- conda-forge
Ressourcen
- Siehe Anheften von Conda-Paketen.
Verschiedene Umgebungsprobleme
R-Abschnitt ist veraltet
Mögliche Ursachen:
- Sie haben einen R-Abschnitt in Ihrer Umgebungsdefinition angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Das Azure Machine Learning SDK für R wurde Ende 2021 als veraltet markiert, um den Weg für ein verbessertes Training und eine verbesserte Bereitstellung von R unter Verwendung der Azure CLI v2 zu ebnen.
GILT FÜR: Python SDK azureml v1
Entfernen Sie den R-Abschnitt aus Ihrer Umgebungsdefinition.
env.r = None
Sehen Sie sich das Beispielrepository an, um erste Schritte beim Trainieren von R-Modellen mithilfe der Azure CLI v2 zu erhalten.
Es ist keine Definition für die Umgebung vorhanden.
Mögliche Ursachen:
- Sie haben eine Umgebung angegeben, die nicht vorhanden ist oder nicht registriert wurde.
- In der Angabe Ihres Umgebungsnamen oder Ihrer Umgebungsversion Schreib- oder Syntaxfehler aufgetreten.
Betroffene Bereiche (Symptome):
- Fehler beim Registrieren Ihrer Umgebung
Schritte zur Problembehandlung
Stellen Sie sicher, dass Sie Ihren Umgebungsnamen richtig und mit der richtigen Version angeben.
path-to-resource:version-number
Sie sollten die „neueste“ Version Ihrer Umgebung auf eine andere Weise angeben.
path-to-resource@latest
Probleme beim Imagebuild
ACR-Probleme
ACR ist nicht erreichbar
Dieses Problem kann auftreten, wenn beim Zugriff auf die einem Arbeitsbereich zugeordnete ACR-Ressource (Azure Container Registry) ein Fehler auftritt.
Mögliche Ursachen:
- Die ACR des Arbeitsbereichs befindet sich hinter einem virtuellen Netzwerk (VNet) (privater Endpunkt oder Dienstendpunkt), und Sie verwenden keinen Computecluster zum Erstellen von Images.
- Die ACR des Arbeitsbereichs befindet sich hinter einem virtuellen Netzwerk (privater Endpunkt oder Dienstendpunkt), und der Computecluster, der für die Erstellung von Images verwendet wird, hat keinen Zugriff auf die ACR des Arbeitsbereichs.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
- Pipelineauftragsfehler
- Fehler bei der Modellimplementierung
Schritte zur Problembehandlung
- Überprüfen Sie, ob das VNet des Computeclusters Zugriff auf die ACR des Arbeitsbereichs hat.
- Stellen Sie sicher, dass der Computecluster CPU-basiert ist.
Hinweis
- Es werden nur Azure Machine Learning-Computecluster unterstützt. Compute, Azure Kubernetes Service (AKS) oder andere Instanztypen werden für die Compute-Instanz der Imageerstellung nicht unterstützt.
Ressourcen
Unerwartetes Dockerfile-Format
Dieses Problem kann auftreten, wenn Ihre Dockerfile falsch formatiert ist.
Mögliche Ursachen:
- Ihre Dockerfile enthält eine ungültige Syntax.
- Ihre Dockerfile enthält Zeichen, die nicht mit UTF-8 kompatibel sind.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da im ersten Schritt implizit die Umgebung erstellt wird.
Schritte zur Problembehandlung
- Stellen Sie sicher, dass die Dockerfile ordnungsgemäß formatiert und in UTF-8 codiert ist.
Ressourcen
Probleme mit Docker Pull
Fehler beim Pullen des Docker-Images
Dieses Problem kann auftreten, wenn beim Pullen eines Docker-Images während der Imageerstellung ein Fehler auftritt.
Mögliche Ursachen:
- Der Pfadname zur Containerregistrierung ist falsch.
- Eine Containerregistrierung hinter einem virtuellen Netzwerk verwendet einen privaten Endpunkt in einer nicht unterstützten Region.
- Das Image, auf das Sie verweisen möchten, existiert nicht in der von Ihnen angegebenen Containerregistrierung.
- Sie haben keine Anmeldeinformationen für eine private Registrierung angegeben, von der Sie das Image pullen möchten, oder die angegebenen Anmeldeinformationen sind falsch.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Überprüfen Sie, ob der Pfadname zu Ihrer Containerregistrierung korrekt ist.
- Für eine Registrierung
my-registry.io
und ein Imagetest/image
mit dem Tag3.2
wäre ein gültiger Imagepfad entsprechendmy-registry.io/test/image:3.2
. - Siehe Dokumentation zum Registrierungspfad.
Ihre Containerregistrierung befindet sich hinter einem virtuellen Netzwerk oder verwendet einen privaten Endpunkt in einer nicht unterstützten Region.
- Konfigurieren Sie die Containerregistrierung mithilfe des Dienstendpunkts (öffentlicher Zugriff) des Portals und versuchen Sie es erneut.
- Nachdem Sie die Containerregistrierung hinter einem virtuellen Netzwerk platziert haben, führen Sie die Azure Resource Manager-Vorlage aus, damit der Arbeitsbereich mit der Instanz der Containerregistrierung kommunizieren kann.
Wenn das Image, auf das Sie verweisen möchten, nicht in der von Ihnen angegebenen Containerregistrierung existiert.
- Überprüfen Sie, ob Sie das richtige Tag verwendet und
user_managed_dependencies
aufTrue
festgelegt haben. Wenn Sie user_managed_dependencies aufTrue
festlegen, wird Conda deaktiviert und die vom Benutzer installierten Pakete verwendet.
Wenn Sie keine Anmeldeinformationen für eine private Registrierung angegeben haben, von der Sie pullen möchten, oder die angegebenen Anmeldeinformationen sind falsch.
- Legen Sie bei Bedarf Arbeitsbereichsverbindungen für die Containerregistrierung fest.
Ressourcen
E/A-Fehler
Dieses Problem kann auftreten, wenn beim Pullen eines Docker-Images aufgrund eines Netzwerkproblems ein Fehler auftritt.
Mögliche Ursachen:
- Netzwerkverbindungsproblem, das vorübergehend sein kann
- Eine Firewall blockiert die Verbindung.
- ACR ist nicht erreichbar und es liegt eine Netzwerkisolation vor. Weitere Informationen finden Sie unter ACR ist nicht erreichbar.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Fügen Sie den Host zu den Firewallregeln hinzu.
- Unter Konfigurieren von ein- und ausgehendem Netzwerkdatenverkehr erfahren Sie, wie Sie Azure Firewall für Ihren Arbeitsbereich und Ihre Ressourcen hinter einem VNet verwenden.
Bewerten Sie Ihre Arbeitsbereichseinrichtung. Verwenden Sie ein virtuelles Netzwerk oder eine der Ressourcen, auf die Sie während der Imageerstellung hinter einem virtuellen Netzwerk zugreifen möchten?
- Stellen Sie sicher, dass Sie die Schritte in diesem Artikel zum Schützen eines Arbeitsbereichs mit virtuellen Netzwerkenausgeführt haben.
- Azure Machine Learning erfordert sowohl eingehenden als auch ausgehenden Zugriff auf das öffentliche Internet. Wenn ein Problem mit der Einrichtung Ihres virtuellen Netzwerks auftritt, liegt möglicherweise ein Problem beim Zugriff auf bestimmte Repositorys vor, die während der Imageerstellung erforderlich sind.
Wenn Sie kein virtuelles Netzwerk verwenden oder es ordnungsgemäß konfiguriert haben.
- Versuchen Sie, Ihr Image neu zu erstellen. Wenn der Timeout auf ein Netzwerkproblem zurückzuführen ist, kann das Problem vorübergehend sein, und eine Neuerstellung könnte das Problem beheben.
Conda-Probleme während des Builds
Falsche Spezifikation
Dieses Problem kann auftreten, wenn ein in Ihrer Conda-Spezifikation aufgeführtes Paket ungültig ist oder Sie einen Conda-Befehl falsch ausgeführt haben.
Mögliche Ursachen:
- Die Syntax, die Sie in Ihrer Conda-Spezifikation verwendet haben, ist falsch.
- Sie führen einen Conda-Befehl falsch aus.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Conda-Spezifikationsfehler können auftreten, wenn Sie den Befehl „conda create“ falsch verwenden.
- Lesen Sie die Dokumentation, und stellen Sie sicher, dass Sie gültige Optionen und Syntax verwenden.
- Es gibt eine bekannte Unklarheit in Bezug auf
conda env create
versusconda create
. Weitere Informationen zur Antwort von Conda und zu den bekannten Lösungen anderer Benutzer finden Sie hier.
Um einen erfolgreichen Build zu gewährleisten, stellen Sie sicher, dass Sie die richtige Syntax und gültige Paketspezifikation in Ihrem Conda YAML-Code verwenden.
- Informationen zum manuellen Erstellen einer Conda-Datei finden Sie unter Spezifikationen zur Paketübereinstimmung.
Kommunikationsfehler
Dieses Problem kann auftreten, wenn bei der Kommunikation mit der Entität, aus der Sie Pakete herunterladen möchten, die in Ihrer Conda-Spezifikation aufgeführt sind, ein Fehler auftritt.
Mögliche Ursachen:
- Fehler bei der Kommunikation mit einem Conda-Kanal oder Paketrepository.
- Diese Fehler können auf vorübergehende Netzwerkfehler zurückzuführen sein.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Stellen Sie sicher, dass die Conda-Kanäle/Repositorys, die Sie in Ihrer Conda-Spezifikation verwenden, korrekt sind.
- Überprüfen Sie, ob sie existieren und ob Sie sie richtig geschrieben haben.
Wenn die Conda-Kanäle/Repositorys korrekt sind
- Versuchen Sie, das Image neu zu erstellen. Es besteht die Möglichkeit, dass der Fehler vorübergehend ist und eine Neuerstellung das Problem beheben kann.
- Überprüfen Sie, ob die in Ihrer Conda-Spezifikation aufgeführten Pakete in den von Ihnen angegebenen Kanälen/Repositorys vorhanden sind.
Compilerfehler
Dieses Problem kann auftreten, wenn es aufgrund eines Compilerfehlers zu einem Fehler beim Erstellen eines Pakets kommt, das für die Conda-Umgebung erforderlich ist.
Mögliche Ursachen:
- Sie haben ein Paket falsch geschrieben und deshalb wurde es nicht erkannt.
- Mit dem Compiler ist etwas nicht in Ordnung.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Wenn Sie einen Compiler verwenden
- Stellen Sie sicher, dass der von Ihnen verwendete Compiler erkannt wird.
- Fügen Sie Bei Bedarf einen Installationsschritt zu Ihrer Dockerfile hinzu.
- Bestätigen Sie die Version Ihres Compilers und überprüfen Sie, ob alle von Ihnen verwendeten Befehle oder Optionen mit der Compilerversion kompatibel sind.
- Führen Sie bei Bedarf ein Upgrade Ihrer Compilerversion durch.
Vergewissern Sie sich, dass Sie alle aufgelisteten Pakete richtig geschrieben und die Versionen ordnungsgemäß angeheftet haben.
Ressourcen
Fehlender Befehl
Dieses Problem kann auftreten, wenn ein Befehl während einer Imageerstellung oder in der angegebenen Python-Paketanforderung nicht erkannt wird.
Mögliche Ursachen:
- Sie haben den Befehl nicht richtig geschrieben.
- Der Befehl kann nicht ausgeführt werden, da ein erforderliches Paket nicht installiert ist.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Vergewissern Sie sich, dass Sie den Befehl richtig geschrieben haben.
- Vergewissern Sie sich, dass Sie alle Pakete installiert haben, die für die Ausführung des gewünschten Befehls erforderlich sind.
- Fügen Sie Bei Bedarf einen Installationsschritt zu Ihrer Dockerfile hinzu.
Ressourcen
Conda-Timeout
Dieses Problem kann auftreten, wenn die Auflösung des Conda-Pakets zu lange dauert.
Mögliche Ursachen:
- Es ist eine große Anzahl von Paketen in Ihrer Conda-Spezifikation aufgeführt und es sind nicht erforderliche Pakete enthalten.
- Sie haben Ihre Abhängigkeiten nicht angeheftet (Sie haben „tensorflow“ anstelle von „tensorflow=2.8“ einbezogen).
- Sie haben Pakete aufgelistet, für die es keine Lösung gibt (Sie haben Paket X=1.3 und Y=2.8 einbezogen, aber die Version von X ist mit der Version von Y nicht kompatibel).
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Entfernen Sie alle Pakete aus Ihrer Conda-Spezifikation, die nicht erforderlich sind.
- Anheften Ihrer Pakete: Die Umgebungsauflösung erfolgt schneller.
- Wenn weiterhin Probleme auftreten, lesen Sie diesen Artikel, um die Leistung von Conda zu verstehen und zu verbessern.
Nicht genügend Arbeitsspeicher.
Dieses Problem kann auftreten, wenn bei der Conda-Paketauflösung aufgrund der Auslastung des verfügbaren Arbeitsspeichers ein Fehler auftritt.
Mögliche Ursachen:
- Es ist eine große Anzahl von Paketen in Ihrer Conda-Spezifikation aufgeführt und es sind nicht erforderliche Pakete enthalten.
- Sie haben Ihre Abhängigkeiten nicht angeheftet (Sie haben „tensorflow“ anstelle von „tensorflow=2.8“ einbezogen).
- Sie haben Pakete aufgelistet, für die es keine Lösung gibt (Sie haben Paket X=1.3 und Y=2.8 einbezogen, aber die Version von X ist mit der Version von Y nicht kompatibel).
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Entfernen Sie alle Pakete aus Ihrer Conda-Spezifikation, die nicht erforderlich sind.
- Anheften Ihrer Pakete: Die Umgebungsauflösung erfolgt schneller.
- Wenn weiterhin Probleme auftreten, lesen Sie diesen Artikel, um die Leistung von Conda zu verstehen und zu verbessern.
Paket nicht gefunden
Dieses Problem kann auftreten, wenn mindestens ein in Ihrer Spezifikation aufgeführtes Conda-Paket in einem Kanal/Repository nicht gefunden werden kann.
Mögliche Ursachen:
- Sie haben den Namen oder die Version des Pakets in Ihrer Conda-Spezifikation falsch angegeben.
- Das Paket ist in einem Conda-Kanal vorhanden, den Sie in Ihrer Conda-Spezifikation nicht aufgelistet haben.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Stellen Sie sicher, dass Sie das Paket richtig geschrieben haben und dass die angegebene Version existiert.
- Stellen Sie sicher, dass das Paket in dem Kanal vorhanden ist, den Sie als Ziel verwenden möchten.
- Stellen Sie sicher, dass Sie den Kanal/das Repository in Ihrer Conda-Spezifikation aufgeführt haben, sodass das Paket bei der Paketauflösung ordnungsgemäß gepullt werden kann.
Geben Sie Kanäle in Ihrer Conda-Spezifikation an:
channels:
- conda-forge
- anaconda
dependencies:
- python=3.8
- tensorflow=2.8
Name: my_environment
Ressourcen
Fehlendes Python-Modul
Dieses Problem kann auftreten, wenn ein in Ihrer Conda-Spezifikation aufgeführtes Python-Modul nicht vorhanden oder ungültig ist.
Mögliche Ursachen:
- Sie haben das Modul falsch geschrieben.
- Das Modul wird nicht erkannt.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Vergewissern Sie sich, dass Sie das Modul richtig geschrieben haben und dass es existiert.
- Überprüfen Sie, ob das Modul mit der Python-Version kompatibel ist, die Sie in Ihrer Conda-Spezifikation angegeben haben.
- Wenn Sie keine bestimmte Python-Version in Ihrer Conda-Spezifikation aufgelistet haben, stellen Sie sicher, dass Sie eine bestimmte Version auflisten, die mit Ihrem Modul kompatibel ist, andernfalls wird möglicherweise ein Standardwert verwendet, der nicht kompatibel ist.
Anheften einer Python-Version, die mit dem verwendeten pip-Modul kompatibel ist:
channels:
- conda-forge
- anaconda
dependencies:
- python=3.8
- pip:
- dataclasses
Name: my_environment
Keine passende Distribution
Dieses Problem kann auftreten, wenn kein Paket gefunden wurde, das der von Ihnen angegebenen Version entspricht.
Mögliche Ursachen:
- Sie haben den Paketnamen falsch geschrieben.
- Das Paket und die Version sind nicht in den von Ihnen angegebenen Kanälen oder Feeds zu finden.
- Die angegebene Version ist nicht vorhanden.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Vergewissern Sie sich, dass Sie das Paket richtig geschrieben haben und dass es existiert.
- Stellen Sie sicher, dass die für das Paket angegebene Version vorhanden ist.
- Stellen Sie sicher, dass Sie den Kanal angegeben haben, über den das Paket installiert werden soll. Wenn Sie keinen Kanal angeben, werden die Standardwerte verwendet, und diese Standardwerte enthalten möglicherweise nicht das gesuchte Paket.
So listen Sie Kanäle in einer Conda-YAML-Spezifikation auf
channels:
- conda-forge
- anaconda
dependencies:
- python = 3.8
- tensorflow = 2.8
Name: my_environment
Ressourcen
Mpi4py kann nicht erstellt werden.
Dieses Problem kann auftreten, wenn beim Erstellen von Wheels für mpi4py ein Fehler auftritt.
Mögliche Ursachen:
- Die Anforderungen für eine erfolgreiche mpi4py-Installation sind nicht erfüllt.
- Es stimmt etwas nicht mit der Methode, die Sie für die Installation von mpi4py ausgewählt haben.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Stellen Sie sicher, dass Sie über eine funktionierende MPI-Installation verfügen (bevorzugt MPI-3-Unterstützung und für MPI, das mit freigegebenen/dynamischen Bibliotheken erstellt wird).
- Siehe Mpi4py-Installation.
- Führen Sie bei Bedarf die folgenden Schritte zum Erstellen von MPI aus.
Stellen Sie sicher, dass Sie eine kompatible Python-Version verwenden.
- Empfohlen wird Python 3.8+, da ältere Versionen das Ende der Lebensdauer erreichen.
- Siehe Mpi4py-Installation.
Ressourcen
Interaktive Authentifizierung wurde versucht
Dieses Problem kann auftreten, wenn pip die interaktive Authentifizierung während der Paketinstallation versucht.
Mögliche Ursachen:
- Sie haben ein Paket aufgelistet, für das Authentifizierung erforderlich ist, haben aber keine Anmeldeinformationen angegeben.
- Während des Imagebuilds hat pip versucht, Sie zur Authentifizierung aufzufordern, wobei der Buildfehler aufgetreten ist, da Sie während eines Builds keine interaktive Authentifizierung bereitstellen können.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Stellen Sie die Authentifizierung über Arbeitsbereichsverbindungen bereit.
GILT 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>'}")
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
Erstellen einer Arbeitsbereichsverbindung aus einer YAML-Spezifikationsdatei
az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace
Ressourcen
Verbotenes Blob
Dieses Problem kann auftreten, wenn ein Versuch abgelehnt wird, auf ein Blob in einem Speicherkonto zuzugreifen.
Mögliche Ursachen:
- Die Autorisierungsmethode, die Sie für den Zugriff auf das Speicherkonto verwenden, ist ungültig.
- Sie versuchen, die Autorisierung über eine SAS (Shared Access Signature) herzustellen, aber das SAS-Token ist abgelaufen oder ungültig.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Lesen Sie Folgendes, um zu verstehen, wie der Zugriff auf Blobdaten im Azure-Portal autorisiert wird
Lesen Sie Folgendes, um zu verstehen, wie der Zugriff auf Blobdaten im Azure-Speicher autorisiert wird
Lesen Sie Folgendes, wenn Sie sich für das Verwenden von SAS für den Zugriff auf Azure-Speicherressourcen interessieren.
Horovod-Build
Dieses Problem kann auftreten, wenn die Conda-Umgebung nicht erstellt oder aktualisiert werden kann, weil bei Horovod ein Buildfehler aufgetreten ist.
Mögliche Ursachen:
- Die Horovod-Installation erfordert weitere Module, die bei Ihnen nicht installiert sind
- Die Horovod-Installation erfordert bestimmte Bibliotheken, die Sie nicht eingeschlossen haben
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Viele Probleme können zu einem Horovod-Fehler führen; eine umfassende Liste davon finden Sie in der Horovod-Dokumentation
- Lesen Sie den Leitfaden zur Problembehandlung für Horovod.
- Überprüfen Sie Ihr Buildprotokoll, um festzustellen, ob beim Auftreten des Buildfehlers von Horovod eine Fehlermeldung angezeigt wurde.
- Möglicherweise erklärt der Leitfaden zur Problembehandlung von Horovod das aufgetretene Problem und bietet auch eine Lösung.
Ressourcen
Conda-Befehl nicht gefunden
Dieses Problem kann auftreten, wenn der Conda-Befehl während der Erstellung oder Aktualisierung der Conda-Umgebung nicht erkannt wird.
Mögliche Ursachen:
- Sie haben Conda nicht in dem Basisimage installiert, das Sie verwenden.
- Sie haben Conda nicht über Ihre Dockerfile installiert, bevor Sie versuchen, den Conda-Befehl auszuführen.
- Sie haben Conda nicht in Ihren Pfad aufgenommen, oder Sie haben es nicht zu Ihrem Pfad hinzugefügt.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Stellen Sie vor der Ausführung von Conda-Befehlen sicher, dass Ihr Dockerfile einen Conda-Installationsschritt enthält.
- Ermitteln Sie anhand dieser Liste mit Conda-Installationsprogrammen, welchen Installer Sie für Ihr Szenario benötigen.
Wenn dieses Problem bei der Installation von Conda aufgetreten ist, vergewissern Sie sich, dass Sie Conda zu Ihrem Pfad hinzugefügt haben.
- Sehen Sie sich zur Orientierung dieses Beispiel an.
- Überprüfen Sie, wie Sie Umgebungsvariablen in einem Dockerfile festlegen.
Ressourcen
- Alle verfügbaren Conda-Distributionen finden Sie im Conda-Repository.
Inkompatible Python-Version
Dieses Problem kann auftreten, wenn in Ihrer Conda-Umgebung ein Paket angegeben ist, das nicht mit der von Ihnen angegebenen Python-Version kompatibel ist.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Verwenden Sie eine andere Paketversion, die mit Ihrer angegebenen Python-Version kompatibel ist.
Alternativ können Sie auch eine andere Python-Version verwenden, die mit dem von Ihnen angegebenen Paket kompatibel ist.
- Wenn Sie Ihre Python-Version ändern, verwenden Sie eine Version, die unterstützt wird und deren Lebensdauer nicht in Kürze endet.
- Siehe Ende der Lebensdauer von Python.
Ressourcen
Reine Conda-Umleitung
Dieses Problem kann auftreten, wenn Sie in der Befehlszeile ein Paket mit „<“ oder „>“ angegeben haben, ohne Anführungszeichen zu verwenden. Diese Syntax kann dazu führen, dass bei der Erstellung oder Aktualisierung der Conda-Umgebung ein Fehler auftritt.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Schließen Sie die Paketspezifikation in Anführungszeichen ein.
- Ändern Sie zum Beispiel
conda install -y pip<=20.1.1
inconda install -y "pip<=20.1.1"
.
UTF-8-Decodierungsfehler
Dieses Problem kann auftreten, wenn beim Decodieren eines Zeichens in Ihrer conda-Spezifikation ein Fehler auftritt.
Mögliche Ursachen:
- Ihre conda-YAML-Datei enthält Zeichen, die nicht mit UTF-8 kompatibel sind.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Pip-Probleme während des Builds
Fehler beim Installieren von Paketen
Dieses Problem kann auftreten, wenn es beim Erstellen des Images während der Installation des Python-Pakets zu einem Fehler kommt.
Mögliche Ursachen:
- Es gibt viele Probleme, die diesen Fehler verursachen können.
- Diese Meldung ist generisch und wird angezeigt, wenn die Azure Machine Learning-Analyse den Fehler, der bei Ihnen auftritt, noch nicht abdeckt.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Weitere Informationen zum Fehler bei der Imageerstellung finden Sie in Ihrem Buildprotokoll.
Hinterlassen Sie Ihr Feedback, damit das Azure Machine Learning-Team den Fehler analysieren kann, der bei Ihnen auftritt.
Paket kann nicht deinstalliert werden
Dieses Problem kann auftreten, wenn pip ein Python-Paket, das der Paketmanager des Betriebssystems installiert hat, nicht deinstallieren kann.
Mögliche Ursachen:
- Ein vorhandenes pip-Problem oder eine problematische pip-Version
- Ein Problem, das dadurch entsteht, dass keine isolierte Umgebung verwendet wird
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Lesen Sie das Folgende und ermitteln Sie, ob ein bestehendes pip-Problem Ihren Fehler verursacht hat.
- Deinstallation während der Erstellung eines Docker-Images nicht möglich
- pip 10: Problem mit teilweiser Deinstallation für disutils-Projekt
- pip 10: disutils-Pakete werden nicht länger deinstalliert
Probieren Sie Folgendes aus:
pip install --ignore-installed [package]
Versuchen Sie, mit Conda eine separate Umgebung zu erstellen.
Ungültiger Operator
Dieses Problem kann auftreten, wenn pip ein Python-Paket aufgrund eines ungültigen Operators in der Anforderung nicht installieren kann.
Mögliche Ursachen:
- In der Python-Paketanforderung ist ein ungültiger Operator enthalten.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Stellen Sie sicher, dass Sie das Paket richtig geschrieben haben und dass die angegebene Version existiert.
- Stellen Sie sicher, dass der Paketversionsbezeichner richtig formatiert ist und dass Sie gültige Vergleichsoperatoren verwenden. Weitere Informationen finden Sie unter Versionsbezeichner.
- Ersetzen Sie den ungültigen Operator durch den in der Fehlermeldung empfohlenen Operator.
Keine passende Distribution
Dieses Problem kann auftreten, wenn kein Paket gefunden wurde, das der von Ihnen angegebenen Version entspricht.
Mögliche Ursachen:
- Sie haben den Paketnamen falsch geschrieben.
- Das Paket und die Version sind nicht in den von Ihnen angegebenen Kanälen oder Feeds zu finden.
- Die angegebene Version ist nicht vorhanden.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Vergewissern Sie sich, dass Sie das Paket richtig geschrieben haben und dass es existiert.
- Stellen Sie sicher, dass die für das Paket angegebene Version vorhanden ist.
- Führen Sie
pip install --upgrade pip
und dann den ursprünglichen Befehl erneut aus. - Stellen Sie sicher, dass der verwendete pip-Befehl Pakete für die gewünschte Python-Version installieren kann. Weitere Informationen finden Sie unter Should I use pip or pip3? (Sollte ich pip oder pip3 verwenden?).
Ressourcen
Ungültiger Wheel-Dateiname
Dieses Problem kann auftreten, wenn Sie eine Wheel-Datei falsch angegeben haben.
Mögliche Ursachen:
- Sie haben den Wheel-Dateinamen falsch geschrieben oder eine ungültige Formatierung verwendet.
- Die angegebene Wheel-Datei wurde nicht gefunden.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Vergewissern Sie sich, dass der Dateiname richtig geschrieben wurde und dass die Datei vorhanden ist.
- Stellen Sie sicher, dass Sie das Format für Wheel-Dateinamen verwenden.
Erstellungsprobleme
Keine Ziele angegeben und keine Makefile gefunden.
Dieses Problem kann auftreten, wenn Sie keine Ziele angegeben haben und keine Makefile gefunden wird, wenn Sie make
ausführen.
Mögliche Ursachen:
- Makefile ist im aktuellen Verzeichnis nicht vorhanden.
- Es sind keine Ziele angegeben.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
- Vergewissern Sie sich, dass Sie die Makefile richtig geschrieben haben.
- Stellen Sie sicher, dass die Makefile im aktuellen Verzeichnis vorhanden ist.
- Wenn Sie über eine benutzerdefinierte Makefile verfügen, geben Sie diese mithilfe von
make -f custommakefile
an. - Geben Sie Ziele in der Makefile oder in der Befehlszeile an.
- Konfigurieren Sie Ihren Build, und generieren Sie eine Makefile.
- Vergewissern Sie sich, dass Sie Ihre Makefile ordnungsgemäß formatiert und Tabulatoren für den Einzug verwendet haben.
Ressourcen
Kopierprobleme
Datei nicht gefunden
Dieses Problem kann auftreten, wenn Docker eine Datei nicht finden und kopieren kann.
Mögliche Ursachen:
- Quelldatei nicht im Docker-Buildkontext gefunden.
- Quelldatei durch
.dockerignore
ausgeschlossen.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da im ersten Schritt implizit die Umgebung erstellt wird.
Schritte zur Problembehandlung
- Stellen Sie sicher, dass die Quelldatei im Docker-Buildkontext vorhanden ist.
- Vergewissern Sie sich, dass die Quell- und Zielpfade existieren und richtig geschrieben sind.
- Stellen Sie sicher, dass die Quelldatei nicht in der
.dockerignore
der aktuellen und übergeordneten Verzeichnisse aufgeführt ist. - Entfernen Sie alle nachstehenden Kommentare in der gleichen Zeile wie der Befehl
COPY
.
Ressourcen
Probleme mit apt-get
Fehler beim Ausführen des Befehls „apt-get“
Dieses Problem kann auftreten, wenn apt-get nicht ausgeführt werden kann.
Mögliche Ursachen:
- Netzwerkverbindungsproblem, das vorübergehend sein kann
- Fehlerhafte Abhängigkeiten im Zusammenhang mit dem Paket, für das Sie apt-get ausführen
- Sie verfügen nicht über die erforderlichen Berechtigungen für die Verwendung des Befehls „apt-get“.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da im ersten Schritt implizit die Umgebung erstellt wird.
Schritte zur Problembehandlung
- Überprüfen Sie Ihre Netzwerkverbindung und Ihre DNS-Einstellungen.
- Führen Sie
apt-get check
aus, um nach fehlerhaften Abhängigkeiten zu suchen. - Führen Sie
apt-get update
und dann den ursprünglichen Befehl erneut aus. - Führen Sie den Befehl mit dem Flag
-f
aus, mit dem versucht wird, ein Problem mit fehlerhaften Abhängigkeiten zu beheben. - Führen Sie den Befehl mit
sudo
-Berechtigungen aus, z. B. mitsudo apt-get install <package-name>
.
Ressourcen
- Paketverwaltung mit APT
- Ubuntu: apt-get
- Was ist zu tun, wenn apt-get fehlschlägt?
- apt-get-Befehl unter Linux mit Beispielen
Docker-Pushprobleme
Fehler beim Speichern des Docker-Images
Dieses Problem kann auftreten, wenn beim Pushen eines Docker-Images in eine Containerregistrierung ein Fehler auftritt.
Mögliche Ursachen:
- Es ist ein vorübergehendes Problem mit der ACR aufgetreten, die dem Arbeitsbereich zugeordnet ist.
- Eine Containerregistrierung hinter einem virtuellen Netzwerk verwendet einen privaten Endpunkt in einer nicht unterstützten Region.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über Benutzeroberfläche, SDK und Befehlszeilenschnittstelle.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Wiederholen Sie den Umgebungsbuild, wenn Sie vermuten, dass dieser Problem ein vorübergehendes Problem mit der Azure Container Registry (ACR) des Arbeitsbereichs ist.
Ihre Containerregistrierung befindet sich hinter einem virtuellen Netzwerk oder verwendet einen privaten Endpunkt in einer nicht unterstützten Region.
- Konfigurieren Sie die Containerregistrierung mithilfe des Dienstendpunkts (öffentlicher Zugriff) des Portals und versuchen Sie es erneut.
- Nachdem Sie die Containerregistrierung hinter einem virtuellen Netzwerk platziert haben, führen Sie die Azure Resource Manager-Vorlage aus, damit der Arbeitsbereich mit der Instanz der Containerregistrierung kommunizieren kann.
Wenn Sie kein virtuelles Netzwerk verwenden oder dieses ordnungsgemäß konfiguriert haben, testen Sie, ob Ihre Anmeldeinformationen für Ihre ACR korrekt sind, indem Sie einen einfachen lokalen Build ausführen.
- Abrufen von Anmeldeinformationen für Ihre Arbeitsbereichs-ACR vom Azure-Portal
- Melden Sie sich über
docker login <myregistry.azurecr.io> -u "username" -p "password"
bei Ihrer ACR-Instanz an. - Testen Sie für ein „helloworld“-Image das Pushen an Ihre ACR, indem Sie
docker push helloworld
ausführen. - Weitere Informationen finden Sie unter Schnellstart: Erstellen und Ausführen eines Containerimages mithilfe von Azure Container Registry Tasks.
Unbekannter Docker-Befehl
Unbekannte Docker-Anweisung
Dieses Problem kann auftreten, wenn Docker eine Anweisung in der Dockerfile nicht erkennt.
Mögliche Ursachen:
- Unbekannte Docker-Anweisung wird in der Dockerfile verwendet.
- Ihre Dockerfile enthält eine ungültige Syntax.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da im ersten Schritt implizit die Umgebung erstellt wird.
Schritte zur Problembehandlung
- Stellen Sie sicher, dass der Docker-Befehl gültig und richtig geschrieben ist.
- Stellen Sie sicher, dass zwischen dem Docker-Befehl und den Argumenten ein Leerzeichen steht.
- Stellen Sie sicher, dass die Dockerfile keine unnötigen Leerzeichen enthält.
- Stellen Sie sicher, dass die Dockerfile ordnungsgemäß formatiert und in UTF-8 codiert ist.
Ressourcen
Befehl nicht gefunden
Befehl nicht erkannt
Dieses Problem kann auftreten, wenn der ausgeführte Befehl nicht erkannt wird.
Mögliche Ursachen:
- Sie haben den Befehl nicht über Ihr Dockerfile installiert, bevor Sie versucht haben, ihn auszuführen.
- Sie haben den Befehl nicht in Ihren Pfad aufgenommen, oder Sie haben ihn nicht Ihrem Pfad hinzugefügt.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da im ersten Schritt implizit die Umgebung erstellt wird.
Schritte zur Problembehandlung: Stellen Sie sicher, dass Sie einen Installationsschritt für den Befehl in Ihrem Dockerfile hinzufügen, bevor Sie versuchen, den Befehl auszuführen.
- Sehen Sie sich dieses Beispiel an.
Wenn dieses Problem bei der Installation des Befehls aufgetreten ist, vergewissern Sie sich, dass Sie den Befehl Ihrem Pfad hinzugefügt haben.
- Sehen Sie sich dieses Beispiel an.
- Überprüfen Sie, wie Sie Umgebungsvariablen in einem Dockerfile festlegen.
Verschiedene Buildprobleme
Buildprotokoll nicht verfügbar
Mögliche Ursachen:
- Azure Machine Learning ist nicht berechtigt, Ihre erstellten Protokolle in Ihrem Speicherkonto zu speichern.
- Beim Speichern Ihrer Buildprotokolle ist ein vorübergehender Fehler aufgetreten.
- Ein Systemfehler ist aufgetreten, bevor ein Imagebuild ausgelöst wurde.
Betroffene Bereiche (Symptome):
- Der Build war erfolgreich, aber es sind keine Protokolle verfügbar.
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da Azure Machine Learning im ersten Schritt implizit die Umgebung erstellt.
Schritte zur Problembehandlung
Das Problem kann durch eine Neuerstellung behoben werden, wenn es vorübergehend ist.
Image wurde nicht gefunden
Dieses Problem kann auftreten, wenn das von Ihnen angegebene Basisimage nicht gefunden werden kann.
Mögliche Ursachen:
- Sie haben das Image falsch angegeben.
- Das von Ihnen angegebene Image ist in der von Ihnen angegebenen Registrierung nicht vorhanden.
Betroffene Bereiche (Symptome):
- Fehler beim Erstellen von Umgebungen über UI, SDK und CLI.
- Fehler beim Ausführen von Aufträgen, da im ersten Schritt implizit die Umgebung erstellt wird.
Schritte zur Problembehandlung
- Stellen Sie sicher, dass das Basisimage den richtigen Namen und das richtige Format hat.
- Stellen Sie sicher, dass das von Ihnen verwendete Basisimage in der von Ihnen angegebenen Registrierung vorhanden ist.
Ressourcen