Řešení potíží s prostředím

V tomto článku se dozvíte, jak řešit běžné problémy, se kterými se můžete setkat s sestaveními imagí prostředí, a dozvíte se o ohroženích zabezpečení prostředí AzureML.

Aktivně hledáme vaši zpětnou vazbu. Pokud jste přešli na tuto stránku prostřednictvím protokolů definice prostředí nebo analýzy selhání sestavení, chtěli bychom vědět, jestli vám tato funkce pomohla, nebo pokud chcete nahlásit scénář selhání, který ještě není probíraný naší analýzou. Na tuto dokumentaci můžete také zanechat zpětnou vazbu. Nechte své myšlenky tady.

Prostředí Azure Machine Learning

Prostředí Azure Machine Learning jsou zapouzdřením prostředí, ve kterém probíhá trénování strojového učení. Určují základní image Dockeru, balíčky Pythonu a nastavení softwaru kolem trénovacích a bodovacích skriptů. Prostředí jsou spravovaná a verze prostředků v pracovním prostoru Machine Learning, které umožňují reprodukovatelné, auditovatelné a přenosné pracovní postupy strojového učení napříč různými cíli výpočetních prostředků.

Typy prostředí

Prostředí spadají do tří kategorií: kurátorovaná, spravovaná uživatelem a systémově spravovaná.

Kurátorovaná prostředí jsou předem vytvořená prostředí spravovaná službou Azure Machine Learning a jsou ve výchozím nastavení k dispozici v každém pracovním prostoru. Obsahují kolekce balíčků a nastavení Pythonu, které vám pomůžou začít s různými architekturami strojového učení a chcete je používat tak, jak jsou. Tato předem vytvořená prostředí také umožňují rychlejší nasazení.

V prostředích spravovaných uživatelem zodpovídáte za nastavení prostředí a instalaci každého balíčku, který trénovací skript potřebuje na cílový výpočetní objekt. Nezapomeňte také zahrnout všechny závislosti potřebné pro nasazení modelu.

Tyto typy prostředí mají dva podtypy. Pro první typ BYOC (přineste si vlastní kontejner) přenesete existující image Dockeru do služby Azure Machine Learning. Pro druhý typ prostředí založená na kontextu sestavení Dockeru materializuje Azure Machine Learning image z kontextu, který zadáte.

Pokud chcete, aby conda spravil prostředí Pythonu za vás, použijte prostředí spravované systémem. Azure Machine Learning vytvoří nové izolované prostředí Conda tím, že z materializuje specifikaci conda nad základní imagí Dockeru. Azure Machine Learning ve výchozím nastavení přidává do odvozené image běžné funkce. Všechny balíčky Pythonu, které jsou přítomné v základní imagi, nejsou dostupné v izolovaném prostředí Conda.

Vytváření a správa prostředí

Prostředí můžete vytvářet a spravovat z klientů, jako je Sada Azure Machine Learning Python SDK, Azure Machine Learning CLI, uživatelské rozhraní nástroje Azure Machine Learning Studio, rozšíření Visual Studio Code.

Anonymní prostředí se automaticky zaregistrují ve vašem pracovním prostoru, když odešlete experiment bez registrace nebo odkazování na již existující prostředí. Nejsou uvedené, ale můžete je načíst podle verze nebo popisku.

Azure Machine Learning vytváří definice prostředí do imagí Dockeru. Také ukládá image do mezipaměti ve službě Azure Container Registry přidružené k vašemu pracovnímu prostoru Azure Machine Learning, aby je bylo možné znovu použít v následných trénovacích úlohách a nasazeních koncových bodů služby. Výsledkem více prostředí se stejnou definicí může být stejná image uložená v mezipaměti.

Vzdálené spuštění trénovacího skriptu vyžaduje vytvoření image Dockeru.

Ohrožení zabezpečení v prostředích AzureML

Ohrožení zabezpečení můžete vyřešit upgradem na novější verzi závislosti (základní image, balíček Pythonu atd.) nebo migrací na jinou závislost, která splňuje požadavky na zabezpečení. Zmírnění ohrožení zabezpečení je časově náročné a nákladné, protože může vyžadovat refaktoring kódu a infrastruktury. S prevalencí opensourcového softwaru a používání složitých vnořených závislostí je důležité spravovat a sledovat ohrožení zabezpečení.

Existuje několik způsobů, jak snížit dopad ohrožení zabezpečení:

  • Snižte počet závislostí – pro každý scénář použijte minimální sadu závislostí.
  • Rozčleníte prostředí do prostoru, abyste mohli na jednom místě určit rozsah a opravit problémy.
  • Seznamte se s označenými ohroženími zabezpečení a jejich významem pro váš scénář.

Kontrola ohrožení zabezpečení

Pomocí nástroje Microsoft Defender for Container Registry můžete monitorovat a udržovat hygienu prostředí, abyste mohli vyhledat ohrožení zabezpečení imagí.

Pokud chcete tento proces automatizovat na základě triggerů z Programu Microsoft Defender, přečtěte si téma Automatizace odpovědí na triggery Microsoft Defenderu pro cloud.

Ohrožení zabezpečení vs. Reprodukovatelnost

Reprodukovatelnost je jedním ze základů vývoje softwaru. Při vývoji produkčního kódu musí opakovaná operace zaručit stejný výsledek. Zmírnění ohrožení zabezpečení může narušit reprodukovatelnost změnou závislostí.

Primárním cílem služby Azure Machine Learning je zaručit reprodukovatelnost. Prostředí spadají do tří kategorií: kurátorovaná, spravovaná uživatelem a systémově spravovaná.

Kurátorovaná prostředí

Kurátorovaná prostředí jsou předem vytvořená prostředí, která azure Machine Learning spravuje a jsou ve výchozím nastavení dostupná ve všech zřízených pracovních prostorech Azure Machine Learning. Azure Machine Learning vydává nové verze, které řeší ohrožení zabezpečení. To, jestli používáte nejnovější obrázek, může být kompromisem mezi reprodukovatelností a správa ohrožení zabezpečení.

Kurátorovaná prostředí obsahují kolekce balíčků a nastavení Pythonu, které vám pomůžou začít s různými architekturami strojového učení. Měli byste je používat tak, jak jsou. Tato předem vytvořená prostředí také umožňují rychlejší nasazení.

Uživatelsky spravovaná prostředí

V prostředích spravovaných uživatelem zodpovídáte za nastavení prostředí a instalaci každého balíčku, který trénovací skript potřebuje pro cílový výpočetní objekt a pro nasazení modelu. Tyto typy prostředí mají dva podtypy:

  • BYOC (přineste si vlastní kontejner): Uživatel poskytuje image Dockeru pro Azure Machine Learning.
  • Kontext sestavení Dockeru: Azure Machine Learning materializuje image z obsahu poskytnutého uživatelem.

Jakmile nainstalujete další závislosti na image poskytnuté Microsoftem nebo přineste si vlastní základní image, správa ohrožení zabezpečení se stane vaší zodpovědností.

Prostředí spravovaná systémem

Systémově spravovaná prostředí používáte, když chcete, aby prostředí Pythonu spravuje za vás conda. Azure Machine Learning vytvoří nové izolované prostředí Conda tím, že z materializuje specifikaci conda nad základní imagí Dockeru. I když Azure Machine Learning opravuje základní image s každou verzí, jestli používáte nejnovější image, může být kompromis mezi reprodukovatelností a správa ohrožení zabezpečení. Proto je vaší zodpovědností zvolit verzi prostředí používanou pro vaše úlohy nebo nasazení modelu při používání systémově spravovaných prostředí.

Ohrožení zabezpečení: Běžné problémy

Ohrožení zabezpečení v základních imagích Dockeru

Ohrožení zabezpečení systému v prostředí se obvykle zavádějí ze základní image. Například chyby zabezpečení označené jako Ubuntu nebo Debian jsou ze systémové úrovně prostředí – základní image Dockeru. Pokud je základní image od vystavitele třetí strany, zkontrolujte, jestli nejnovější verze obsahuje opravy chyb zabezpečení označených příznakem. Nejběžnější zdroje základních imagí ve službě Azure Machine Learning jsou:

  • Registr artefaktů Microsoft (MAR) aka Microsoft Container Registry (mcr.microsoft.com).
    • Obrázky můžou být uvedeny na domovské stránce MAR, rozhraní API katalogu volání nebo /tags/list.
    • Zdrojové a poznámky k verzi pro trénovací základní image z AzureML najdete v Azure/AzureML-Containers.
  • Nvidia (nvcr.io nebo profil nvidia)

Pokud nejnovější verze základní image nevyřeší vaše ohrožení zabezpečení, můžete ohrožení zabezpečení základní image vyřešit instalací verzí doporučených kontrolou ohrožení zabezpečení:

apt-get install -y library_name

Ohrožení zabezpečení v balíčcích Pythonu

Ohrožení zabezpečení můžou být také z nainstalovaných balíčků Pythonu nad základní imagí spravovanou systémem. Tato ohrožení zabezpečení související s Pythonem by se měla vyřešit aktualizací závislostí Pythonu. Chyby zabezpečení Pythonu (pip) na obrázku obvykle pocházejí z uživatelsky definovaných závislostí.

Informace o známých ohroženích zabezpečení a řešeních v Pythonu najdete v databázi poradce GitHubu. Pokud chcete vyřešit ohrožení zabezpečení Pythonu, aktualizujte balíček na verzi, která obsahuje opravy problému s příznakem:

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

Pokud používáte prostředí Conda, aktualizujte odkaz v souboru závislostí conda.

V některých případech se balíčky Pythonu nainstalují automaticky během instalace prostředí conda nad základní imagí Dockeru. Kroky pro zmírnění rizik jsou stejné jako u balíčků zavedených uživatelem. Conda nainstaluje nezbytné závislosti pro každé prostředí, které materializuje. Balíčky, jako je kryptografie, instalační nástroje, kolo atd., se automaticky nainstalují z výchozích kanálů conda. U výchozího kanálu anaconda chybí nejnovější verze balíčků známý problém, proto doporučujeme určit prioritu kanálu Conda-forge spravované komunitou. Jinak explicitně zadejte balíčky a verze, a to i v případě, že na ně v kódu, který plánujete spustit v daném prostředí, neodkazujete.

Problémy s mezipamětí

Přidružený k vašemu pracovnímu prostoru Azure Machine Learning je instance služby Azure Container Registry, která je mezipamětí pro image kontejnerů. Všechny materializované image se nasdílí do registru kontejneru a použijí se při aktivaci experimentování nebo nasazení pro odpovídající prostředí. Azure Machine Learning neodstraní image z registru kontejneru a je vaší zodpovědností vyhodnotit, které image potřebujete v průběhu času udržovat.

Řešení potíží se sestaveními imagí prostředí

Zjistěte, jak řešit problémy s sestaveními imagí prostředí a instalacemi balíčků.

Problémy s definicí prostředí

Problémy s názvem prostředí

Kurátorovaná předpona není povolená

K tomuto problému může dojít, když název vašeho vlastního prostředí používá termíny vyhrazené jenom pro kurátorovaná prostředí. Kurátorovaná prostředí jsou prostředí, která společnost Microsoft udržuje. Vlastní prostředí jsou prostředí, která vytváříte a udržujete.

Možné příčiny:

  • Název vašeho prostředí začíná Microsoftem nebo AzureML.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Aktualizujte název prostředí tak, aby se vyloučila rezervovaná předpona, kterou aktuálně používáte.

Materiály

Název prostředí je příliš dlouhý.

Možné příčiny:

  • Název vašeho prostředí je delší než 255 znaků.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Aktualizujte název prostředí na 255 znaků nebo méně.

Problémy s Dockerem

PLATÍ PRO: Rozšíření Azure CLI ml v1

PLATÍ PRO: Python SDK azureml v1

Pokud chcete vytvořit nové prostředí, musíte použít jeden z následujících přístupů (viz DockerSection):

  • Základní image
    • Zadejte název základní image, úložiště, ze kterého ho chcete vyžádat, a v případě potřeby přihlašovací údaje.
    • Zadání specifikace conda
  • Základní soubor Dockerfile
    • Zadání souboru Dockerfile
    • Zadání specifikace conda
  • Kontext sestavení Dockeru
    • Zadejte umístění kontextu sestavení (URL).
    • Kontext sestavení musí obsahovat alespoň soubor Dockerfile, ale může obsahovat i jiné soubory.

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Pokud chcete vytvořit nové prostředí, musíte použít jeden z následujících přístupů:

  • Image Dockeru
    • Zadejte identifikátor URI image image hostované v registru, jako je Docker Hub nebo Azure Container Registry.
    • Ukázka sem
  • Kontext sestavení Dockeru
    • Zadejte adresář, který slouží jako kontext sestavení.
    • Adresář by měl obsahovat soubor Dockerfile a všechny ostatní soubory potřebné k sestavení image.
    • Ukázka sem
  • Specifikace Conda
    • Musíte zadat základní image Dockeru pro prostředí; Azure Machine Learning sestaví prostředí Conda nad poskytnutou imagí Dockeru.
    • Zadejte relativní cestu k souboru conda.
    • Ukázka sem

Chybějící definice Dockeru

PLATÍ PRO: Python SDK azureml v1

K tomuto problému může dojít, když v definici prostředí chybí DockerSection. Tato část konfiguruje nastavení související s konečnou imagí Dockeru sestavenou ze specifikace prostředí.

Možné příčiny:

  • Nezadali jste definici DockerSection prostředí.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

DockerSection Přidejte do definice prostředí definici prostředí, zadejte základní image, základní soubor dockerfile nebo kontext sestavení Dockeru.

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

Materiály

Příliš mnoho možností Dockeru

Možné příčiny:

PLATÍ PRO: Python SDK azureml v1

V definici prostředí máte více než jednu z těchto možností Dockeru.

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

V definici prostředí máte více než jednu z těchto možností Dockeru.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Zvolte, kterou možnost Dockeru chcete použít k sestavení prostředí. Potom nastavte všechny ostatní zadané možnosti na Hodnotu Žádné.

PLATÍ PRO: 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

Chybějící možnost Dockeru

Možné příčiny:

V definici prostředí jste nezadali jednu z následujících možností.

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

V definici prostředí jste nezadali jednu z následujících možností.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Zvolte, kterou možnost Dockeru chcete použít k sestavení prostředí, a pak tuto možnost naplňte v definici prostředí.

PLATÍ PRO: Python SDK azureml v1

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

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

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)

Materiály

V registru kontejneru chybí uživatelské jméno nebo heslo.

Možné příčiny:

  • V definici prostředí jste zadali uživatelské jméno nebo heslo pro registr kontejneru, ale ne obojí.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Pokud chcete tento problém vyřešit, přidejte do definice prostředí chybějící uživatelské jméno nebo heslo.

myEnv.docker.base_image_registry.username = "username"

Případně můžete zadat ověřování prostřednictvím připojení pracovního prostoru.

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

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

Vytvoření připojení pracovního prostoru ze souboru specifikace YAML

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

Poznámka:

  • Poskytnutí přihlašovacích údajů v definici prostředí se už nepodporuje. Místo toho použijte připojení pracovního prostoru.

Materiály

Více přihlašovacích údajů pro registr základní image

Možné příčiny:

  • Zadali jste více než jednu sadu přihlašovacích údajů pro registr základní image.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Pokud používáte připojení pracovního prostoru, podívejte se na požadovaná připojení a odstraňte podle toho, které z nich nechcete použít.

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

Pokud jste v definici prostředí zadali přihlašovací údaje, zvolte jednu sadu přihlašovacích údajů, která se má použít, a nastavte všechny ostatní na hodnotu null.

myEnv.docker.base_image_registry.registry_identity = None

Poznámka:

  • Poskytnutí přihlašovacích údajů v definici prostředí se už nepodporuje. Místo toho použijte připojení pracovního prostoru.

Materiály

Tajné kódy v registru základní image

Možné příčiny:

  • V definici prostředí jste zadali přihlašovací údaje.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Zadání přihlašovacích údajů v definici prostředí se už nepodporuje. Odstraňte přihlašovací údaje z definice prostředí a místo toho použijte připojení pracovního prostoru.

PLATÍ PRO: Python SDK azureml v1

Nastavení připojení pracovního prostoru v pracovním prostoru

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

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

Vytvoření připojení pracovního prostoru ze souboru specifikace YAML

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

Materiály

Zastaralý atribut Dockeru

Možné příčiny:

  • V definici prostředí jste zadali atributy Dockeru, které jsou teď zastaralé.
  • Následující vlastnosti jsou zastaralé:
    • enabled
    • arguments
    • shared_volumes
    • gpu_support
      • Azure Machine Learning teď automaticky detekuje a používá rozšíření NVIDIA Docker, pokud je k dispozici.
    • smh_size

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Místo zadávání těchto atributů v DockerSection definici prostředí použijte DockerConfiguration.

Materiály

Délka souboru Dockerfile přes limit

Možné příčiny:

  • Zadaný soubor Dockerfile překročil maximální velikost 100 kB.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Zkraťte soubor Dockerfile, abyste ho získali pod tímto limitem.

Materiály

  • Podívejte se na osvědčené postupy.

Problémy s kontextem sestavení Dockeru

Chybějící umístění kontextu sestavení Dockeru

Možné příčiny:

  • V definici prostředí jste nezadali cestu k adresáři kontextu sestavení.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Zahrnutí cesty do build_context dockerSection

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Ujistěte se, že zahrnete cestu pro kontext sestavení.

Materiály

Chybějící cesta k souboru Dockerfile

K tomuto problému může dojít, když Azure Machine Learning nenajde váš soubor Dockerfile. Ve výchozím nastavení Azure Machine Learning hledá soubor Dockerfile s názvem Dockerfile v kořenovém adresáři kontextu sestavení, pokud nezadáte cestu k souboru Dockerfile.

Možné příčiny:

  • Váš soubor Dockerfile není v kořenovém adresáři kontextu sestavení a/nebo má jiný název než Dockerfile a nezadali jste jeho cestu.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

build_context Do dockerSection zahrňte dockerfile_path

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Zadání cesty k souboru Dockerfile

Materiály

Nepovoleno zadat atribut s kontextem sestavení Dockeru

K tomuto problému může dojít, když jste zadali vlastnosti v definici prostředí, které nelze zahrnout do kontextu sestavení Dockeru.

Možné příčiny:

  • Zadali jste kontext sestavení Dockeru spolu s alespoň jednou z následujících vlastností v definici prostředí:
    • Proměnné prostředí
    • Závislosti Conda
    • R
    • Spark

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Pokud jste v definici prostředí zadali některou z výše uvedených vlastností, odeberte je.

  • Pokud používáte kontext sestavení Dockeru a chcete zadat závislosti conda, měla by se specifikace conda nacházet v adresáři kontextu sestavení.

Materiály

Typ umístění není podporovaný/ Neznámý typ umístění

Možné příčiny:

  • Zadali jste typ umístění pro kontext sestavení Dockeru, který není podporovaný nebo neznámý.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Následující typy umístění jsou akceptované:

  • Lotr
    • Adresy URL gitu můžete poskytnout do služby Azure Machine Learning, ale zatím je nemůžete použít k vytváření imagí. Použití účtu úložiště, dokud nebudou mít buildy podporu Gitu
  • Účet úložiště

Materiály

Neplatné umístění

Možné příčiny:

  • Zadané umístění kontextu sestavení Dockeru je neplatné.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Scénáře, ve kterých ukládáte kontext sestavení Dockeru do účtu úložiště

  • Musíte zadat cestu kontextu sestavení jako

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

  • Ujistěte se, že zadané umístění je platná adresa URL.

  • Ujistěte se, že jste zadali kontejner a cestu.

Materiály

Problémy se základní imagí

Základní image je zastaralá.

Možné příčiny:

  • Použili jste zastaralou základní image.
    • Azure Machine Learning nemůže poskytovat podporu řešení potíží s neúspěšnými buildy s zastaralými imagemi
    • Azure Machine Learning tyto image neaktualizuje ani neudržuje, takže jsou ohrožené ohrožením zabezpečení.

Následující základní image jsou zastaralé:

  • 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

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Upgrade základní image na nejnovější verzi podporovaných imagí

Žádná značka nebo digest

Možné příčiny:

  • Do zadané základní image jste nezahrnuli značku verze ani digest.
  • Bez jednoho z těchto specifikátorů není prostředí reprodukovatelné.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Do základní image zahrňte alespoň jeden z následujících specifikátorů.

Problémy s proměnnými prostředí

Chybně umístěné proměnné modulu runtime

Možné příčiny:

  • V definici prostředí jste zadali proměnné modulu runtime.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

environment_variables Místo toho použijte atribut u objektu RunConfiguration.

Problémy s Pythonem

Chybí oddíl Pythonu

Možné příčiny:

  • Definice vašeho prostředí nemá oddíl Pythonu.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Naplnění oddílu Python v definici prostředí

Chybí verze Pythonu.

Možné příčiny:

  • Nezadali jste v definici prostředí verzi Pythonu.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Přidání Pythonu jako balíčku conda a zadání verze

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

Pokud pro specifikaci conda používáte YAML, zahrňte Python jako závislost.

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

Více verzí Pythonu

Možné příčiny:

  • V definici prostředí jste zadali více než jednu verzi Pythonu.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Zvolte, kterou verzi Pythonu chcete použít, a odeberte všechny ostatní verze.

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

Pokud pro specifikaci conda používáte YAML, zahrňte jako závislost jenom jednu verzi Pythonu.

Verze Pythonu není podporována.

Možné příčiny:

  • Zadali jste verzi Pythonu, která je na konci životnosti nebo se blíží jeho konci a už se nepodporuje.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Zadejte verzi Pythonu, která se nedosáhla a blíží se konci životnosti.

Možné příčiny:

  • Zadali jste verzi Pythonu, která je na konci životnosti pythonu nebo blízko jeho konce životnosti.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Zadejte verzi Pythonu, která se nedosáhla a blíží se konci životnosti.

Ověření verze Pythonu se nezdařilo.

Možné příčiny:

  • Zadali jste verzi Pythonu s nesprávnou syntaxí nebo nesprávným formátováním.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Použití správné syntaxe k určení verze Pythonu pomocí sady SDK

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

Použití správné syntaxe k určení verze Pythonu v conda YAML

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

Materiály

Problémy s Conda

Chybějící závislosti conda

Možné příčiny:

  • V definici prostředí jste nezadali specifikaci conda a user_managed_dependencies je nastavená na False (výchozí).

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Pokud nechcete, aby služba Azure Machine Learning vytvořila prostředí Pythonu na základě nastaveného conda_dependencies, nastavení user_managed_dependenciesTrue

env.python.user_managed_dependencies = True
  • Zodpovídáte za zajištění dostupnosti všech potřebných balíčků v prostředí Pythonu, ve kterém se rozhodnete skript spustit.

Pokud chcete, aby služba Azure Machine Learning vytvořila prostředí Pythonu za vás na základě specifikace conda, musíte naplnit conda_dependencies definici prostředí.

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

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Musíte zadat základní image Dockeru pro prostředí a Azure Machine Learning pak vytvoří prostředí Conda nad danou imagí.

Materiály

Neplatné závislosti conda

Možné příčiny:

  • Nesprávně jste naformátovali závislosti conda zadané v definici prostředí.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

PLATÍ PRO: Python SDK azureml v1

Ujistěte se, že conda_dependencies je verze JSONified struktury YAML závislostí conda.

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

Pomocí metody můžete také zadat závislosti add_conda_package conda.

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

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Musíte zadat základní image Dockeru pro prostředí a Azure Machine Learning pak vytvoří prostředí Conda nad danou imagí.

Chybějící kanály Conda

Možné příčiny:

  • Nezadali jste kanály conda v definici prostředí.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Pokud chcete reprodukovatelnost vašeho prostředí, zadejte kanály, ze kterých se mají vyžádat závislosti. Pokud nezadáte kanály conda, conda použije výchozí hodnoty, které se můžou změnit.

PLATÍ PRO: Python SDK azureml v1

Přidání kanálu Conda pomocí sady 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

Pokud pro specifikaci conda používáte YAML, uveďte kanály conda, které chcete použít.

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

Materiály

Možné příčiny:

  • V definici prostředí jste zadali základní prostředí Conda.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Částečné aktualizace prostředí můžou vést ke konfliktům závislostí nebo neočekávaným chybám modulu runtime, takže se nedoporučuje používat základní prostředí Conda.

PLATÍ PRO: Python SDK azureml v1

Odeberte základní prostředí Conda a v části definice prostředí zadejte všechny balíčky potřebné pro vaše prostředí conda_dependencies .

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

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Definování prostředí pomocí standardního konfiguračního souboru CONDA YAML

Materiály

Odepnuté závislosti

Možné příčiny:

  • Nezadali jste verze pro určité balíčky ve specifikaci conda.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Pokud nezadáte verzi závislostí, může překladač balíčků conda zvolit jinou verzi balíčku v následných buildech stejného prostředí. Tato chyba přeruší reprodukovatelnost prostředí a může vést k neočekávaným chybám.

PLATÍ PRO: Python SDK azureml v1

Zahrnutí čísel verzí při přidávání balíčků do specifikace conda

from azureml.core.environment import CondaDependencies

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

Pokud pro specifikaci conda používáte YAML, zadejte verze pro závislosti.

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

Materiály

Problémy s pipem

Parametr Pip není zadaný.

Možné příčiny:

  • V specifikaci conda jste neurčili pip jako závislost.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Pro reprodukovatelnost byste měli zadat a připnout pip jako závislost ve specifikaci conda.

PLATÍ PRO: Python SDK azureml v1

Určení pipu jako závislosti spolu s jeho verzí

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

Pokud pro specifikaci conda používáte YAML, zadejte pip jako závislost.

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

Materiály

Pip není připnutý

Možné příčiny:

  • Ve specifikaci conda jste nezadali verzi pipu.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Pokud nezadáte verzi pip, může se v následných buildech stejného prostředí použít jiná verze. Toto chování může způsobit problémy s reprodukovatelností a další neočekávané chyby, pokud různé verze pip řeší vaše balíčky odlišně.

PLATÍ PRO: Python SDK azureml v1

Určení verze pip v závislostech conda

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

Pokud pro specifikaci conda používáte YAML, zadejte verzi pro pip.

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

Materiály

Různé problémy s prostředím

Oddíl R je zastaralý.

Možné příčiny:

  • V definici prostředí jste zadali oddíl R.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Sada Azure Machine Learning SDK pro R byla na konci roku 2021 zastaralá, aby se zlepšilo prostředí pro trénování a nasazení jazyka R pomocí Azure CLI v2.

PLATÍ PRO: Python SDK azureml v1

Odebrání oddílu R z definice prostředí

env.r = None

Informace o zahájení trénování modelů R pomocí Azure CLI v2 najdete v úložišti ukázek.

Pro prostředí neexistuje žádná definice.

Možné příčiny:

  • Zadali jste prostředí, které neexistuje nebo nebylo zaregistrované.
  • Způsob, jakým jste zadali název prostředí nebo verzi prostředí, došlo k chybě s chybou nebo syntaktickou chybou.

Ovlivněné oblasti (příznaky):

  • Selhání při registraci prostředí

Postup při řešení potíží

Ujistěte se, že správně zadáváte název vašeho prostředí spolu se správnou verzí.

  • path-to-resource:version-number

Nejnovější verzi prostředí byste měli zadat jiným způsobem.

  • path-to-resource@latest

Problémy se sestavením image

Problémy s ACR

Nedostupná ACR

K tomuto problému může dojít v případě, že dojde k chybě při přístupu k přidruženému prostředku služby Azure Container Registry (ACR) pracovního prostoru.

Možné příčiny:

  • ACR vašeho pracovního prostoru je za virtuální sítí (VNet) (privátní koncový bod nebo koncový bod služby) a k vytváření imagí nepoužíváte výpočetní cluster.
  • Služba ACR vašeho pracovního prostoru se nachází za virtuální sítí (privátní koncový bod nebo koncový bod služby) a výpočetní cluster používaný k vytváření imagí nemá přístup k ACR pracovního prostoru.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.
  • Selhání úloh kanálu
  • Selhání nasazení modelu

Postup při řešení potíží

  • Ověřte, že virtuální síť výpočetního clusteru má přístup k ACR pracovního prostoru.
  • Ujistěte se, že je výpočetní cluster založený na procesoru.

Poznámka:

  • Podporované jsou jen výpočetní clustery Azure Machine Learning. Jako výpočetní prostředek pro sestavování imagí se nepodporuje služba Výpočetní prostředky, Azure Kubernetes Service (AKS) ani jiné typy instancí.

Materiály

Neočekávaný formát souboru Dockerfile

K tomuto problému může dojít v případě nesprávného formátování souboru Dockerfile.

Možné příčiny:

  • Váš soubor Dockerfile obsahuje neplatnou syntaxi.
  • Váš soubor Dockerfile obsahuje znaky, které nejsou kompatibilní s UTF-8

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Došlo k selhání, protože se při spouštění úloh implicitně v prvním kroku sestavuje prostředí.

Postup při řešení potíží

  • Ujistěte se, že je soubor Dockerfile správně naformátovaný a je kódovaný v UTF-8.

Materiály

Problémy s vyžádáním dockeru

Nepodařilo se načíst image Dockeru

K tomuto problému může dojít v případě, že během sestavení image selže načtení image Dockeru.

Možné příčiny:

  • Název cesty k registru kontejneru je nesprávný.
  • Registr kontejneru za virtuální sítí používá privátní koncový bod v nepodporované oblasti.
  • Image, na kterou se pokoušíte odkazovat, neexistuje v registru kontejneru, který jste zadali.
  • Nezadali jste přihlašovací údaje pro privátní registr, ze které se pokoušíte získat image, nebo zadané přihlašovací údaje nejsou správné.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Zkontrolujte správnost názvu cesty k registru kontejneru.

  • Pro registr my-registry.io a image test/image se značkou 3.2by byla platná cesta k imagi. my-registry.io/test/image:3.2
  • Viz dokumentace k cestě registru

Pokud je registr kontejneru za virtuální sítí nebo používá privátní koncový bod v nepodporované oblasti

  • Nakonfigurujte registr kontejneru pomocí koncového bodu služby (veřejný přístup) z portálu a zkuste to znovu.
  • Po umístění registru kontejneru za virtuální síť spusťte šablonu Azure Resource Manageru, aby pracovní prostor mohl komunikovat s instancí registru kontejneru.

Pokud image, na kterou se pokoušíte odkazovat, neexistuje v registru kontejneru, který jste zadali

  • Zkontrolujte, že jste použili správnou značku a že jste nastavili user_managed_dependencies hodnotu True. Nastavení user_managed_dependencies zakázat True conda a používat nainstalované balíčky uživatele

Pokud jste nezadali přihlašovací údaje pro privátní registr, ze kterých se pokoušíte vyžádat, nebo zadané přihlašovací údaje jsou nesprávné.

  • V případě potřeby nastavte připojení pracovního prostoru pro registr kontejneru.

Materiály

Vstupně-výstupní chyba

K tomuto problému může dojít v případě, že kvůli problému se sítí selže vyžádání image Dockeru.

Možné příčiny:

  • Problém s připojením k síti, který může být dočasný
  • Brána firewall blokuje připojení
  • ACR je nedostupný a existuje izolace sítě. Další informace najdete v tématu Nedostupná služba ACR.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Přidání hostitele do pravidel brány firewall

Posouzení nastavení pracovního prostoru Používáte virtuální síť nebo používáte některý z prostředků, ke které se pokoušíte získat přístup během sestavování image za virtuální sítí?

  • Ujistěte se, že jste postupovali podle kroků v tomto článku o zabezpečení pracovního prostoru s virtuálními sítěmi.
  • Azure Machine Learning vyžaduje příchozí i odchozí přístup k veřejnému internetu. Pokud dojde k potížím s nastavením virtuální sítě, může dojít k problému s přístupem k určitým úložištím požadovaným během sestavení image.

Pokud nepoužíváte virtuální síť nebo pokud jste ji nakonfigurovali správně

  • Zkuste znovu sestavit image. Pokud došlo k vypršení časového limitu kvůli problému se sítí, může být problém přechodný a opětovné sestavení by mohlo problém vyřešit.

Problémy s Conda během sestavování

Chybná specifikace

K tomuto problému může dojít, když je balíček uvedený ve specifikaci conda neplatný nebo když jste nesprávně spustili příkaz conda.

Možné příčiny:

  • Syntaxe, kterou jste použili ve specifikaci conda, je nesprávná.
  • Nesprávně spouštíte příkaz conda.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

K chybám specifikace Conda může dojít, pokud nesprávně použijete příkaz conda create

Pokud chcete zajistit úspěšné sestavení, ujistěte se, že ve svém conda yaml používáte správnou syntaxi a platnou specifikaci balíčku.

Chyba komunikace

K tomuto problému může dojít v případě, že dojde k chybě při komunikaci s entitou, ze které chcete stáhnout balíčky uvedené ve specifikaci conda.

Možné příčiny:

  • Komunikace s kanálem Conda nebo úložištěm balíčků se nezdařila.
  • Tato selhání můžou být způsobená přechodnými selháními sítě.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Ujistěte se, že jsou správné kanály a úložiště conda, které používáte ve specifikaci conda.

  • Zkontrolujte, jestli existují a jestli jste je napsali správně.

Pokud jsou kanály a úložiště conda správné

  • Pokuste se znovu sestavit image – existuje šance, že selhání je přechodné a opětovné sestavení může problém vyřešit.
  • Ujistěte se, že balíčky uvedené ve specifikaci conda existují v zadaných kanálech nebo úložištích.

Chyba kompilace

K tomuto problému může dojít v případě, že dojde k selhání sestavení balíčku potřebného pro prostředí Conda kvůli chybě kompilátoru.

Možné příčiny:

  • Nesprávně jste napsali balíček, a proto ho nerozpoznali.
  • V kompilátoru je něco špatně.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Pokud používáte kompilátor

  • Ujistěte se, že je rozpoznaný kompilátor, který používáte.
  • V případě potřeby přidejte do souboru Dockerfile krok instalace.
  • Ověřte verzi kompilátoru a zkontrolujte, jestli jsou všechny příkazy nebo možnosti, které používáte, kompatibilní s verzí kompilátoru.
  • V případě potřeby upgradujte verzi kompilátoru.

Ujistěte se, že jste správně zadali všechny uvedené balíčky a že jste správně připnuli verze.

Materiály

Chybějící příkaz

K tomuto problému může dojít v případě, že příkaz není rozpoznán během sestavení image nebo v zadaném požadavku balíčku Pythonu.

Možné příčiny:

  • Příkaz jste nesdělili správně.
  • Příkaz nejde spustit, protože není nainstalovaný požadovaný balíček.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Ujistěte se, že jste příkaz zadali správně.
  • Ujistěte se, že jste nainstalovali všechny balíčky potřebné ke spuštění příkazu, který se pokoušíte provést.
  • V případě potřeby přidejte do souboru Dockerfile krok instalace.

Materiály

Vypršení časového limitu Conda

K tomuto problému může dojít v případě, že dokončení řešení balíčku Conda trvá příliš dlouho.

Možné příčiny:

  • Ve specifikaci conda je uvedený velký počet balíčků a jsou zahrnuté nepotřebné balíčky.
  • Nepřipnuli jste závislosti (zahrnuli jste tensorflow místo tensorflow=2,8).
  • Uvedli jste balíčky, pro které neexistuje žádné řešení (zahrnuli jste balíček X=1.3 a Y=2.8, ale verze X není kompatibilní s verzí Y).

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Odebrání všech balíčků ze specifikace conda, které nejsou nutné
  • Připnutí balíčků – rozlišení prostředí je rychlejší
  • Pokud stále máte problémy, projděte si tento článek, kde najdete podrobné informace o porozumění a zlepšení výkonu conda.

Nedostatek paměti

K tomuto problému může dojít v případě, že řešení balíčku Conda selže kvůli vyčerpání dostupné paměti.

Možné příčiny:

  • Ve specifikaci conda je uvedený velký počet balíčků a jsou zahrnuté nepotřebné balíčky.
  • Nepřipnuli jste závislosti (zahrnuli jste tensorflow místo tensorflow=2,8).
  • Uvedli jste balíčky, pro které neexistuje žádné řešení (zahrnuli jste balíček X=1.3 a Y=2.8, ale verze X není kompatibilní s verzí Y).

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Odebrání všech balíčků ze specifikace conda, které nejsou nutné
  • Připnutí balíčků – rozlišení prostředí je rychlejší
  • Pokud stále máte problémy, projděte si tento článek, kde najdete podrobné informace o porozumění a zlepšení výkonu conda.

Balíček nebyl nalezen.

K tomuto problému může dojít v případě, že se jeden nebo více balíčků Conda uvedených ve specifikaci nedá najít v kanálu nebo úložišti.

Možné příčiny:

  • V specifikaci conda jste nesprávně uvedli název nebo verzi balíčku.
  • Balíček existuje v kanálu conda, který jste nevypisovali ve specifikaci conda.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Ujistěte se, že jste balíček zadali správně a že zadaná verze existuje.
  • Ujistěte se, že balíček existuje v kanálu, na který cílíte.
  • Ujistěte se, že jste ve specifikaci conda uvedli kanál nebo úložiště, aby se balíček během překladu balíčků mohl správně načíst.

Zadejte kanály ve specifikaci conda:

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

Materiály

Chybějící modul Pythonu

K tomuto problému může dojít v případě, že modul Pythonu uvedený ve specifikaci conda neexistuje nebo není platný.

Možné příčiny:

  • Modul jste napsali nesprávně.
  • Modul se nerozpoznal.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Ujistěte se, že jste modul zadali správně a že existuje.
  • Zkontrolujte, jestli je modul kompatibilní s verzí Pythonu, kterou jste zadali ve specifikaci conda.
  • Pokud jste ve specifikaci conda nezadali konkrétní verzi Pythonu, nezapomeňte uvést konkrétní verzi, která je kompatibilní s modulem, jinak je možné použít výchozí verzi, která není kompatibilní.

Připněte verzi Pythonu, která je kompatibilní s modulem pip, který používáte:

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

Žádná odpovídající distribuce

K tomuto problému může dojít, když se nenajde žádný balíček, který odpovídá zadané verzi.

Možné příčiny:

  • Nesprávně jste napsali název balíčku.
  • Balíček a verze se nedají najít v kanálech nebo kanálech, které jste zadali.
  • Zadaná verze neexistuje.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Ujistěte se, že jste balíček zadali správně a že existuje.
  • Ujistěte se, že verze, kterou jste zadali pro balíček, existuje.
  • Ujistěte se, že jste zadali kanál, ze kterého se balíček nainstaluje. Pokud nezadáte kanál, použijí se výchozí hodnoty a výchozí hodnoty můžou nebo nemusí obsahovat balíček, který hledáte.

Jak vypsat kanály ve specifikaci conda yaml:

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

Materiály

Nejde sestavit mpi4py

K tomuto problému může dojít při selhání sestavování kol pro mpi4py.

Možné příčiny:

  • Požadavky na úspěšnou instalaci mpi4py nejsou splněné.
  • Metoda, kterou jste zvolili k instalaci mpi4py, je něco špatně.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Ujistěte se, že máte funkční instalaci MPI (předvolba pro podporu MPI-3 a pro MPI vytvořenou se sdílenými/dynamickými knihovnami).

Ujistěte se, že používáte kompatibilní verzi Pythonu.

  • Python 3.8 nebo novější se doporučuje kvůli starším verzím, které dosáhnou konce životnosti.
  • Zobrazit instalaci mpi4py

Materiály

Došlo k pokusu o interaktivní ověření.

K tomuto problému může dojít, když se pip pokusí během instalace balíčku provést interaktivní ověřování.

Možné příčiny:

  • Uvedli jste balíček, který vyžaduje ověření, ale nezadali jste přihlašovací údaje.
  • Během sestavení image se pip pokusil zobrazit výzvu k ověření, které sestavení selhalo, protože během sestavení nemůžete poskytnout interaktivní ověřování.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Poskytnutí ověřování prostřednictvím připojení pracovních prostorů

PLATÍ PRO: Python SDK azureml v1

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

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

Vytvoření připojení pracovního prostoru ze souboru specifikace YAML

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

Materiály

Zakázaný objekt blob

K tomuto problému může dojít, když se odmítne pokus o přístup k objektu blob v účtu úložiště.

Možné příčiny:

  • Metoda autorizace, kterou používáte pro přístup k účtu úložiště, je neplatná.
  • Pokoušíte se autorizovat prostřednictvím sdíleného přístupového podpisu (SAS), ale platnost tokenu SAS vypršela nebo je neplatná.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Přečtěte si následující informace, abyste pochopili, jak autorizovat přístup k datům objektů blob na webu Azure Portal.

Přečtěte si následující informace, abyste pochopili , jak autorizovat přístup k datům ve službě Azure Storage.

Pokud vás zajímá přístup k prostředkům úložiště Azure, přečtěte si následující informace.

Horovod build

K tomuto problému může dojít v případě, že se prostředí Conda nepodaří vytvořit nebo aktualizovat, protože se nepodařilo sestavit horovod.

Možné příčiny:

  • Instalace Horovod vyžaduje další moduly, které jste nenainstalovali.
  • Instalace Horovod vyžaduje určité knihovny, které jste nezahrnuli.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Mnoho problémů může způsobit selhání horovodu a v dokumentaci k horovodu existuje úplný seznam těchto problémů.

  • Projděte si průvodce odstraňováním potíží s horovodem.
  • Zkontrolujte protokol sestavení a zjistěte, jestli se zobrazila chybová zpráva, která se zobrazila, když se horovod nepodařilo sestavit.
  • Je možné, že průvodce odstraňováním potíží s horovodem vysvětluje problém, se kterým se setkáváte, spolu s řešením.

Materiály

Příkaz Conda nebyl nalezen.

K tomuto problému může dojít, když se příkaz conda při vytváření nebo aktualizaci prostředí Conda nerozpozná.

Možné příčiny:

  • Nenainstalovali jste conda v základní imagi, kterou používáte.
  • Ještě než se pokusíte spustit příkaz conda přes soubor Dockerfile, nenainstalovali jste conda.
  • Nezahrnuli jste do cesty conda nebo jste ho do cesty nepřidali.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Než se pokusíte spustit všechny příkazy conda, ujistěte se, že máte v souboru Dockerfile krok instalace conda.

Pokud jste se pokusili nainstalovat conda a dochází k tomuto problému, ujistěte se, že jste do cesty přidali conda.

Materiály

Nekompatibilní verze Pythonu

K tomuto problému může dojít v případě, že je v prostředí conda zadaný balíček, který není kompatibilní se zadanou verzí Pythonu.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Použijte jinou verzi balíčku, která je kompatibilní se zadanou verzí Pythonu.

Případně použijte jinou verzi Pythonu, která je kompatibilní s vámi zadaným balíčkem.

  • Pokud měníte verzi Pythonu, použijte podporovanou verzi, která se brzy nedokončí.
  • Zobrazení dat ukončení životnosti Pythonu

Materiály

Conda – úplné přesměrování

K tomuto problému může dojít, když jste na příkazovém řádku zadali balíček pomocí "<" nebo ">" bez použití uvozovek. Tato syntaxe může způsobit selhání vytváření nebo aktualizace prostředí Conda.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Přidání uvozovek kolem specifikace balíčku

  • Můžete třeba změnit conda install -y pip<=20.1.1 na conda install -y "pip<=20.1.1".

Chyba dekódování UTF-8

K tomuto problému může dojít, když ve specifikaci conda dojde k dekódování znaku. 

Možné příčiny:

  • Váš soubor conda YAML obsahuje znaky, které nejsou kompatibilní s UTF-8.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Problémy s pipem během sestavování

Instalace balíčků se nezdařila.

K tomuto problému může dojít v případě, že sestavení image selže během instalace balíčku Pythonu.

Možné příčiny:

  • Existuje mnoho problémů, které by mohly způsobit tuto chybu.
  • Tato zpráva je obecná a zobrazuje se, když analýza služby Azure Machine Learning zatím nepokrývá chybu, se kterou se setkáváte.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Další informace o selhání sestavení image najdete v protokolu sestavení.

Pokud chcete analyzovat chybu, ke které dochází, nechte zpětnou vazbu pro tým Služby Azure Machine Learning.

Balíček nejde odinstalovat

K tomuto problému může dojít v případě, že pip neodinstaluje balíček Pythonu, který nainstaloval správce balíčků operačního systému.

Možné příčiny:

  • Existující problém s pipem nebo problematická verze pipu
  • Problém způsobený tím, že nepoužíváte izolované prostředí

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Přečtěte si následující informace a zjistěte, jestli existující problém s pipem způsobil vaši chybu.

Vyzkoušejte následující:

pip install --ignore-installed [package]

Zkuste vytvořit samostatné prostředí pomocí conda.

Neplatný operátor

K tomuto problému může dojít v případě, že pip nenainstaluje balíček Pythonu kvůli neplatnému operátoru nalezeného v požadavku.

Možné příčiny:

  • V požadavku balíčku Pythonu byl nalezen neplatný operátor.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Ujistěte se, že jste balíček zadali správně a že zadaná verze existuje.
  • Ujistěte se, že je specifikátor verze balíčku správně naformátovaný a že používáte platné relační operátory. Viz specifikátory verzí
  • Nahraďte neplatný operátor operátorem doporučeným v chybové zprávě.

Žádná odpovídající distribuce

K tomuto problému může dojít, když se nenajde žádný balíček, který odpovídá zadané verzi.

Možné příčiny:

  • Nesprávně jste napsali název balíčku.
  • Balíček a verze se nedají najít v kanálech nebo kanálech, které jste zadali.
  • Zadaná verze neexistuje.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Ujistěte se, že jste balíček zadali správně a že existuje.
  • Ujistěte se, že verze, kterou jste zadali pro balíček, existuje.
  • Spusťte pip install --upgrade pip a znovu spusťte původní příkaz.
  • Ujistěte se, že pip, který používáte, může instalovat balíčky pro požadovanou verzi Pythonu. Podívejte se, jestli mám používat pip nebo pip3?

Materiály

Neplatný název souboru kolečka

K tomuto problému může dojít, když jste nesprávně zadali soubor kola.

Možné příčiny:

  • Název souboru kola jste napsali nesprávně nebo jste použili nesprávné formátování.
  • Zadaný soubor kola nebyl nalezen.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Problémy

Nebyly zadány žádné cíle a nebyl nalezen žádný soubor pravidel.

K tomuto problému může dojít, pokud jste nezadali žádné cíle a při spuštění makenebyl nalezen žádný soubor pravidel .

Možné příčiny:

  • Soubor pravidel v aktuálním adresáři neexistuje.
  • Nejsou zadány žádné cíle.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

  • Ujistěte se, že jste správně zadali soubor pravidel.
  • Ujistěte se, že soubor pravidel existuje v aktuálním adresáři.
  • Pokud máte vlastní soubor pravidel, zadejte ho pomocí make -f custommakefile
  • Určení cílů v souboru pravidel nebo v příkazovém řádku
  • Konfigurace sestavení a vygenerování souboru pravidel
  • Ujistěte se, že jste soubor pravidel naformátovali správně a že jste pro odsazení použili tabulátory.

Materiály

Problémy s kopírováním

Soubor nenalezen

K tomuto problému může dojít, když Docker nenajde a zkopíruje soubor.

Možné příčiny:

  • Zdrojový soubor nebyl v kontextu sestavení Dockeru nalezen.
  • Zdrojový soubor vyloučený .dockerignore

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Došlo k selhání, protože se při spouštění úloh implicitně v prvním kroku sestavuje prostředí.

Postup při řešení potíží

  • Ujistěte se, že zdrojový soubor existuje v kontextu sestavení Dockeru.
  • Ujistěte se, že zdrojové a cílové cesty existují a jsou správně napsané.
  • Ujistěte se, že zdrojový soubor není uvedený v .dockerignore aktuálních a nadřazených adresářích.
  • Odeberte všechny koncové komentáře ze stejného řádku jako COPY příkaz.

Materiály

Problémy s apt-get

Spuštění příkazu apt-get se nezdařilo.

K tomuto problému může dojít, když se apt-get nepodaří spustit.

Možné příčiny:

  • Problém s připojením k síti, který může být dočasný
  • Poškozené závislosti související s balíčkem, na kterém spouštíte apt-get
  • Nemáte správná oprávnění k použití příkazu apt-get.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Došlo k selhání, protože se při spouštění úloh implicitně v prvním kroku sestavuje prostředí.

Postup při řešení potíží

  • Kontrola síťového připojení a nastavení DNS
  • Spuštěním zkontrolujte apt-get check poškozené závislosti.
  • Spusťte apt-get update a znovu spusťte původní příkaz.
  • Spusťte příkaz s příznakem -f , který se pokusí vyřešit problém pocházející z poškozených závislostí.
  • Spusťte příkaz s oprávněními sudo , například sudo apt-get install <package-name>

Materiály

Problémy s nabízenými oznámeními Dockeru

Uložení image Dockeru se nezdařilo.

K tomuto problému může dojít, když dojde k chybě při nahrání image Dockeru do registru kontejneru.

Možné příčiny:

  • Došlo k přechodnému problému s ACR přidruženým k pracovnímu prostoru.
  • Registr kontejneru za virtuální sítí používá privátní koncový bod v nepodporované oblasti.

Ovlivněné oblasti (příznaky):

  • Selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Pokud se domníváte, že selhání je přechodným problémem se službou Azure Container Registry (ACR) pracovního prostoru, zkuste sestavení prostředí zopakovat.

Pokud je registr kontejneru za virtuální sítí nebo používá privátní koncový bod v nepodporované oblasti

  • Nakonfigurujte registr kontejneru pomocí koncového bodu služby (veřejný přístup) z portálu a zkuste to znovu.
  • Po umístění registru kontejneru za virtuální síť spusťte šablonu Azure Resource Manageru, aby pracovní prostor mohl komunikovat s instancí registru kontejneru.

Pokud nepoužíváte virtuální síť nebo pokud jste ji nakonfigurovali správně, otestujte správnost přihlašovacích údajů pro službu ACR pokusem o jednoduché místní sestavení.

Neznámý příkaz Dockeru

Neznámá instrukce Dockeru

K tomuto problému může dojít, když Docker nerozpozná instrukce v souboru Dockerfile.

Možné příčiny:

  • Neznámá instrukce Dockeru používaná v souboru Dockerfile
  • Váš soubor Dockerfile obsahuje neplatnou syntaxi.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Došlo k selhání, protože se při spouštění úloh implicitně v prvním kroku sestavuje prostředí.

Postup při řešení potíží

  • Ujistěte se, že je příkaz Dockeru platný a správně napsaný.
  • Ujistěte se, že je mezi příkazem Dockeru a argumenty mezera.
  • Ujistěte se, že v souboru Dockerfile nejsou žádné nepotřebné prázdné znaky.
  • Ujistěte se, že je soubor Dockerfile správně naformátovaný a je kódovaný v UTF-8.

Materiály

Příkaz nebyl nalezen.

Příkaz se nerozpoznal

K tomuto problému může dojít, když se nerozpozná spuštění příkazu.

Možné příčiny:

  • Před pokusem o spuštění příkazu jste příkaz nenainstalovali přes soubor Dockerfile.
  • Nezahrnuli jste příkaz do cesty nebo jste ho do cesty nepřidali.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Došlo k selhání, protože se při spouštění úloh implicitně v prvním kroku sestavuje prostředí.

Kroky pro řešení potíží – Před pokusem o spuštění příkazu se ujistěte, že máte krok instalace pro příkaz v souboru Dockerfile.

Pokud jste se pokusili nainstalovat příkaz a dochází k tomuto problému, ujistěte se, že jste do cesty přidali příkaz.

Různé problémy se sestavením

Protokol sestavení není k dispozici.

Možné příčiny:

  • Azure Machine Learning nemá oprávnění k ukládání protokolů sestavení do účtu úložiště
  • Při ukládání protokolů sestavení došlo k přechodné chybě.
  • Před aktivací sestavení image došlo k systémové chybě.

Ovlivněné oblasti (příznaky):

  • Úspěšné sestavení, ale žádné dostupné protokoly.
  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Selhání při spouštění úloh, protože Azure Machine Learning implicitně sestavuje prostředí v prvním kroku.

Postup při řešení potíží

Opětovné sestavení může problém vyřešit, pokud je přechodný.

Obrázek nebyl nalezen.

K tomuto problému může dojít v případě, že zadaná základní image nebyla nalezena.

Možné příčiny:

  • Obrázek jste zadali nesprávně.
  • Zadaná image v registru, který jste zadali, neexistuje.

Ovlivněné oblasti (příznaky):

  • Došlo k selhání při sestavování prostředí z uživatelského rozhraní, sady SDK a rozhraní příkazového řádku.
  • Došlo k selhání, protože se při spouštění úloh implicitně v prvním kroku sestavuje prostředí.

Postup při řešení potíží

  • Ujistěte se, že je základní obrázek napsaný a správně naformátovaný.
  • Ujistěte se, že základní image, kterou používáte, existuje v registru, který jste zadali.

Materiály