Azure Machine Learning-munkaterületek kezelése a portálon vagy a Python SDK-val (v2)

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

Ebben a cikkben Azure Machine Learning-munkaterületeket hozhat létre, tekinthet meg és törölhet az Azure Machine Learninghez a Azure Portal vagy a Pythonhoz készült SDK használatával.

Az automatizálási igények változásával vagy követelményeivel a parancssori felület, a Azure PowerShell vagy a VS Code bővítmény használatával is kezelheti a munkaterületeket.

Előfeltételek

  • Azure-előfizetés. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot. Próbálja ki ma az Azure Machine Learning ingyenes vagy fizetős verzióját .
  • Python SDK használata esetén:
    1. Telepítse az SDK v2-t.

    2. Adja meg az előfizetés adatait

      # Enter details of your subscription
      subscription_id = "<SUBSCRIPTION_ID>"
      resource_group = "<RESOURCE_GROUP>"
    3. Fogópont lekérése az előfizetéshez. ml_client a jelen cikkben szereplő összes Python-kódban használni fogjuk.

      # get a handle to the subscription
      
      from azure.ai.ml import MLClient
      from azure.identity import DefaultAzureCredential
      
      ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
      • (Nem kötelező) Ha több fiókkal rendelkezik, adja hozzá a használni kívánt Azure Active Directory bérlőazonosítóját a DefaultAzureCredentialfájlhoz. Keresse meg a bérlőazonosítót az Azure Active Directory Külső identitások területen található Azure Portal.

        DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
        
      • (Nem kötelező) Ha szuverén felhőn dolgozik**, adja meg azt a szuverén felhőt, amellyel hitelesítést szeretne végezni a DefaultAzureCredential.-ben.

        from azure.identity import AzureAuthorityHosts
        DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT))
        

Korlátozások

  • Új munkaterület létrehozásakor automatikusan létrehozhatja a munkaterülethez szükséges szolgáltatásokat, vagy használhatja a meglévő szolgáltatásokat. Ha a munkaterülettől eltérő Azure-előfizetésből származó meglévő szolgáltatásokat szeretne használni, regisztrálnia kell az Azure Machine Learning-névteret a szolgáltatásokat tartalmazó előfizetésben. Ha például olyan munkaterületet hoz létre az A előfizetésben, amely a B előfizetésből származó tárfiókot használ, az Azure Machine Learning-névteret regisztrálni kell a B előfizetésben, mielőtt a tárfiókot a munkaterülettel használhatja.

    Az Azure Machine Learning erőforrás-szolgáltatója a Microsoft.MachineLearningServices. Ha tudni szeretné, hogy regisztrálva van-e, és hogyan regisztrálhatja, tekintse meg az Azure-erőforrás-szolgáltatók és -típusok című cikket.

    Fontos

    Ez csak a munkaterület létrehozásakor biztosított erőforrásokra vonatkozik; Azure Storage-fiókok, Azure Container Register, Azure Key Vault és Application Insights.

  • Ha Azure Container Registry (ACR), Tárfiók, Key Vault vagy Application Insights szolgáltatást használ a munkaterülettől eltérő előfizetésben, akkor nem használhatja a hálózatelkülönítést felügyelt online végpontokkal. Ha a hálózatelkülönítést felügyelt online végpontokkal szeretné használni, a munkaterülettel egy előfizetésben rendelkeznie kell az ACR, a Tárfiók, a Key Vault és az Application Insights szolgáltatással. A felügyelt online végpontokkal rendelkező hálózati elkülönítésre vonatkozó korlátozásokért lásd: Az online végpont védelme.

  • A munkaterületek létrehozása alapértelmezés szerint egy Azure Container Registry (ACR) is létrehoz. Mivel az ACR jelenleg nem támogatja az erőforráscsoportnevek Unicode-karaktereit, használjon olyan erőforráscsoportot, amely nem tartalmazza ezeket a karaktereket.

  • Az Azure Machine Learning nem támogatja a hierarchikus névteret (Azure Data Lake Storage Gen2 funkciót) a munkaterület alapértelmezett tárfiókjában.

Tipp

A munkaterület létrehozásakor létrejön egy Azure-alkalmazás Insights-példány. Ha szeretné, törölheti az Application Insights-példányt a fürt létrehozása után. A törlés korlátozza a munkaterületről gyűjtött információkat, és megnehezítheti a problémák elhárítását. Ha törli a munkaterület által létrehozott Application Insights-példányt, nem hozhatja létre újra a munkaterület törlése és újbóli létrehozása nélkül.

Az Application Insights-példány használatáról további információt a Machine Learning webszolgáltatásvégpontjainak monitorozása és gyűjtése című témakörben talál.

Munkaterület létrehozása

Munkaterületet közvetlenül Azure Machine Learning stúdió hozhat létre, és korlátozott lehetőségek állnak rendelkezésre. Vagy az alábbi módszerek egyikével szabályozhatja a beállításokat.

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

  • Alapértelmezett specifikáció. Alapértelmezés szerint a függő erőforrások és az erőforráscsoport automatikusan létrejön. Ez a kód létrehoz egy nevű myworkspace munkaterületet és egy nevű myresourcegroup erőforráscsoportot a fájlban eastus2.

    # Creating a unique workspace name with current datetime to avoid conflicts
    from azure.ai.ml.entities import Workspace
    import datetime
    
    basic_workspace_name = "mlw-basic-prod-" + datetime.datetime.now().strftime(
        "%Y%m%d%H%M"
    )
    
    ws_basic = Workspace(
        name=basic_workspace_name,
        location="eastus",
        display_name="Basic workspace-example",
        description="This example shows how to create a basic workspace",
        hbi_workspace=False,
        tags=dict(purpose="demo"),
    )
    
    ws_basic = ml_client.workspaces.begin_create(ws_basic).result()
    print(ws_basic)
  • Meglévő Azure-erőforrások használata. Létrehozhat olyan munkaterületet is, amely meglévő Azure-erőforrásokat használ az Azure-erőforrás-azonosító formátumával. Keresse meg az adott Azure-erőforrásazonosítókat a Azure Portal vagy az SDK-val. Ez a példa feltételezi, hogy az erőforráscsoport, a tárfiók, a kulcstartó, az App Insights és a tárolóregisztrációs adatbázis már létezik.

    # Creating a unique workspace name with current datetime to avoid conflicts
    import datetime
    from azure.ai.ml.entities import Workspace
    
    basic_ex_workspace_name = "mlw-basicex-prod-" + datetime.datetime.now().strftime(
        "%Y%m%d%H%M"
    )
    
    # Change the following variables to resource ids of your existing storage account, key vault, application insights
    # and container registry. Here we reuse the ones we just created for the basic workspace
    existing_storage_account = (
        # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT>"
        ws_basic.storage_account
    )
    existing_container_registry = (
        # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerRegistry/registries/<CONTAINER_REGISTRY>"
        ws_basic.container_registry
    )
    existing_key_vault = (
        # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>"
        ws_basic.key_vault
    )
    existing_application_insights = (
        # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.insights/components/<APP_INSIGHTS>"
        ws_basic.application_insights
    )
    
    ws_with_existing_resources = Workspace(
        name=basic_ex_workspace_name,
        location="eastus",
        display_name="Bring your own dependent resources-example",
        description="This sample specifies a workspace configuration with existing dependent resources",
        storage_account=existing_storage_account,
        container_registry=existing_container_registry,
        key_vault=existing_key_vault,
        application_insights=existing_application_insights,
        tags=dict(purpose="demonstration"),
    )
    
    ws_with_existing_resources = ml_client.begin_create_or_update(
        ws_with_existing_resources
    ).result()
    
    print(ws_with_existing_resources)

További információ: Workspace SDK-referencia.

Ha problémákat tapasztal az előfizetés elérésében, olvassa el a Hitelesítés beállítása Azure Machine Learning-erőforrásokhoz és -munkafolyamatokhoz, valamint a Hitelesítés az Azure Machine Learning-jegyzetfüzetben című témakört .

Hálózatkezelés

Fontos

A privát végpontok és virtuális hálózatok munkaterülettel való használatával kapcsolatos további információkért lásd: Hálózatelkülönítés és adatvédelem.

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

# Creating a unique workspace name with current datetime to avoid conflicts
import datetime
from azure.ai.ml.entities import Workspace

basic_private_link_workspace_name = (
    "mlw-privatelink-prod-" + datetime.datetime.now().strftime("%Y%m%d%H%M")
)

ws_private = Workspace(
    name=basic_private_link_workspace_name,
    location="eastus",
    display_name="Private Link endpoint workspace-example",
    description="When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.",
    image_build_compute="cpu-compute",
    public_network_access="Disabled",
    tags=dict(purpose="demonstration"),
)

ml_client.workspaces.begin_create(ws_private).result()

Ehhez az osztályhoz meglévő virtuális hálózatra van szükség.

Felsőfokú

Alapértelmezés szerint a munkaterület metaadatait a Microsoft által fenntartott Azure Cosmos DB-példány tárolja. Ezek az adatok a Microsoft által felügyelt kulcsokkal titkosítva lesznek.

Ha korlátozni szeretné a Microsoft által az Ön munkaterületén gyűjtött adatokat, válassza a Nagy üzleti hatást okozó munkaterület lehetőséget a portálon, vagy állítsa be hbi_workspace=true a Pythonban. További információ erről a beállításról: Inaktív titkosítás.

Fontos

A nagy üzleti hatás kiválasztása csak munkaterület létrehozásakor végezhető el. Ez a beállítás a munkaterület létrehozása után nem módosítható.

Saját adattitkosítási kulcs használata

Az adattitkosításhoz saját kulcsot is megadhat. Ezzel létrehozza az Azure Cosmos DB-példányt, amely az Azure-előfizetésében tárolja a metaadatokat. További információ: Ügyfél által felügyelt kulcsok.

A saját kulcs megadásához kövesse az alábbi lépéseket:

Fontos

A lépések végrehajtása előtt a következő műveleteket kell végrehajtania:

Kövesse az ügyfél által felügyelt kulcsok konfigurálásával kapcsolatos lépéseket a következőhöz:

  • Az Azure Cosmos DB-szolgáltató regisztrálása
  • Azure-Key Vault létrehozása és konfigurálása
  • Kulcs létrehozása

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)


from azure.ai.ml.entities import Workspace, CustomerManagedKey

# specify the workspace details
ws = Workspace(
    name="my_workspace",
    location="eastus",
    display_name="My workspace",
    description="This example shows how to create a workspace",
    customer_managed_key=CustomerManagedKey(
        key_vault="/subscriptions/<SUBSCRIPTION_ID>/resourcegroups/<RESOURCE_GROUP>/providers/microsoft.keyvault/vaults/<VAULT_NAME>"
        key_uri="<KEY-IDENTIFIER>"
    )
    tags=dict(purpose="demo")
)

ml_client.workspaces.begin_create(ws)

Konfigurációs fájl letöltése

Ha egy számítási példányon fogja futtatni a kódot, hagyja ki ezt a lépést. A számítási példány létrehozza és tárolja a fájl másolatát.

Ha olyan kódot szeretne használni a helyi környezetben, amely erre a munkaterületre hivatkozik, töltse le a fájlt:

  1. Munkaterület kiválasztása az Azure Studióban

  2. A jobb felső sarokban válassza ki a munkaterület nevét, majd válassza a Download config.json (Config.json letöltése) lehetőséget.

    A config.json fájl letöltése

Helyezze a fájlt a könyvtárstruktúrába Python-szkriptekkel vagy Jupyter Notebookokkal. Lehet ugyanabban a könyvtárban, egy .azureml nevű alkönyvtárban vagy egy szülőkönyvtárban. Számítási példány létrehozásakor a rendszer hozzáadja ezt a fájlt a virtuális gép megfelelő könyvtárához.

Csatlakozás munkaterülethez

Ha gépi tanulási feladatokat futtat az SDK-val, egy MLClient objektumra van szükség, amely meghatározza a munkaterülethez való csatlakozást. Objektumot MLClient paraméterekből vagy konfigurációs fájlból is létrehozhat.

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

  • Konfigurációs fájllal: Ez a kód beolvassa a konfigurációs fájl tartalmát a munkaterület megkereséséhez. Ha még nincs hitelesítve, a rendszer kérni fogja, hogy jelentkezzen be.

    from azure.ai.ml import MLClient
    
    # read the config from the current directory
    ws_from_config = MLClient.from_config()
    
  • Paraméterekből: Ha ezt a módszert használja, nincs szükség config.json fájlra.

    from azure.ai.ml import MLClient
    from azure.ai.ml.entities import Workspace
    from azure.identity import DefaultAzureCredential
    
    ws = MLClient(
        DefaultAzureCredential(),
        subscription_id="<SUBSCRIPTION_ID>",
        resource_group_name="<RESOURCE_GROUP>",
        workspace_name="<AML_WORKSPACE_NAME>",
    )
    print(ws)

Ha problémákat tapasztal az előfizetés elérésében, tekintse meg az Azure Machine Learning-erőforrások és -munkafolyamatok hitelesítésének beállítását és az Azure Machine Learning-hitelesítést ismertető jegyzetfüzetet .

Munkaterület keresése

Tekintse meg az összes használható munkaterület listáját.
A munkaterületet a studióban is megkeresheti. Lásd: Azure Machine Learning-objektumok keresése (előzetes verzió).

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

from azure.ai.ml import MLClient
from azure.ai.ml.entities import Workspace
from azure.identity import DefaultAzureCredential

# Enter details of your subscription
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"

my_ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
for ws in my_ml_client.workspaces.list():
    print(ws.name, ":", ws.location, ":", ws.description)

Egy adott munkaterület részleteinek lekérése:

ws = my_ml_client.workspaces.get("<AML_WORKSPACE_NAME>")
# uncomment this line after providing a workspace name above
# print(ws.location,":", ws.resource_group)

Munkaterület törlése

Ha már nincs szüksége munkaterületre, törölje azt.

Figyelmeztetés

Ha a helyreállítható törlés engedélyezve van a munkaterületen, a törlés után helyreállítható. Ha a helyreállítható törlés nincs engedélyezve, vagy ha bejelöli a munkaterület végleges törlésének lehetőségét, az nem állítható helyre. További információ: Törölt munkaterület helyreállítása.

Ha véletlenül törölte a munkaterületet, előfordulhat, hogy továbbra is le tudja kérni a jegyzetfüzeteket. További részletekért lásd: Feladatátvétel az üzletmenet folytonossága és a vészhelyreállítás érdekében.

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

ml_client.workspaces.begin_delete(name=ws_basic.name, delete_dependent_resources=True)

Az alapértelmezett művelet nem a munkaterülethez társított erőforrások, azaz a tárolóregisztrációs adatbázis, a tárfiók, a key vault és az application insights törlése. Állítsa Igaz delete_dependent_resources értékre az erőforrások törléséhez is.

Az erőforrások eltávolítása

Fontos

A létrehozott erőforrások más Azure Machine Learning-oktatóanyagok és útmutató cikkek előfeltételeiként használhatók.

Ha nem tervezi a létrehozott erőforrások egyikét sem használni, törölje őket, hogy ne számítsa fel a díjakat:

  1. Az Azure Portalon válassza az Erőforráscsoportok lehetőséget a bal szélen.

  2. Válassza ki a létrehozott erőforráscsoportot a listából.

  3. Válassza az Erőforráscsoport törlése elemet.

    Az Azure Portalon található erőforráscsoport törlését ábrázoló képernyőkép.

  4. Írja be az erőforráscsoport nevét. Ezután válassza a Törlés elemet.

Hibaelhárítás

  • A Azure Machine Learning stúdió támogatott böngészői: Javasoljuk, hogy az operációs rendszerrel kompatibilis legújabb böngészőt használja. A következő böngészők támogatottak:

    • Microsoft Edge (Az új Microsoft Edge, legújabb verzió. Nem Microsoft Edge örökölt)
    • Safari (csak Mac, legújabb verzió)
    • Chrome (legújabb verzió)
    • Firefox (legújabb verzió)
  • Azure Portal:

    • Ha az SDK-ból vagy a Azure Portal közvetlenül a munkaterületre lép egy megosztási hivatkozásból, nem tekintheti meg a standard Áttekintés lapot, amely előfizetési adatokat tartalmaz a bővítményben. Ebben a forgatókönyvben nem válthat másik munkaterületre. Egy másik munkaterület megtekintéséhez lépjen közvetlenül a Azure Machine Learning stúdió, és keresse meg a munkaterület nevét.
    • Minden eszköz (adat, kísérlet, számítás stb.) csak Azure Machine Learning stúdió érhető el. Nem érhetők el a Azure Portal.
    • Ha a Azure Portal próbál exportálni egy munkaterület sablonját, a következő szöveghez hasonló hibaüzenet jelenhet meg: Could not get resource of the type <type>. Resources of this type will not be exported. Áthidaló megoldásként használja a sablon alapjául az itt https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices megadott sablonok egyikét.

Munkaterület-diagnosztika

Diagnosztikát futtathat a munkaterületen a Azure Machine Learning stúdió vagy a Python SDK-ból. A diagnosztika futtatása után a rendszer visszaadja az észlelt problémák listáját. Ez a lista a lehetséges megoldásokra mutató hivatkozásokat tartalmaz. További információ: A munkaterület diagnosztikájának használata.

Erőforrás-szolgáltatói hibák

Azure Machine Learning-munkaterület vagy a munkaterület által használt erőforrás létrehozásakor a következő üzenetekhez hasonló hibaüzenet jelenhet meg:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

A legtöbb erőforrás-szolgáltató automatikusan regisztrálva van, de nem minden. Ha ezt az üzenetet kapja, regisztrálnia kell az említett szolgáltatót.

Az alábbi táblázat az Azure Machine Learning által igényelt erőforrás-szolgáltatók listáját tartalmazza:

Erőforrás-szolgáltató Miért van rá szükség?
Microsoft.MachineLearningServices Az Azure Machine Learning-munkaterület létrehozása.
Microsoft.Storage A rendszer az Azure Storage-fiókot használja a munkaterület alapértelmezett tárolójaként.
Microsoft.ContainerRegistry Azure Container Registry a munkaterület docker-lemezképek készítésére használja.
Microsoft.KeyVault Az Azure Key Vault a munkaterület titkos kulcsok tárolására használja.
Microsoft.Notebooks/NotebookProxies Integrált jegyzetfüzetek az Azure Machine Learning számítási példányán.
Microsoft.ContainerService Ha betanított modellek üzembe helyezését tervezi az Azure Kubernetes Servicesben.

Ha ügyfél által felügyelt kulcsot tervez használni az Azure Machine Learning használatával, akkor a következő szolgáltatókat kell regisztrálni:

Erőforrás-szolgáltató Miért van rá szükség?
Microsoft.DocumentDB/databaseAccounts Azure CosmosDB-példány, amely naplózza a munkaterület metaadatait.
Microsoft.Search/searchServices Az Azure Search indexelési képességeket biztosít a munkaterülethez.

Az erőforrás-szolgáltatók regisztrálásával kapcsolatos információkért lásd: Az erőforrás-szolgáltató regisztrációjának hibáinak elhárítása.

A Azure Container Registry törlése

Az Azure Machine Learning-munkaterület egyes műveletekhez Azure Container Registry (ACR)-t használ. Automatikusan létrehoz egy ACR-példányt, amikor először szüksége van rá.

Figyelmeztetés

Miután létrehozott egy Azure Container Registry egy munkaterülethez, ne törölje. Ezzel megszakítja az Azure Machine Learning-munkaterületet.

Példák

A cikkben szereplő példák a workspace.ipynb fájlból származnak.

Következő lépések

Ha már van munkaterülete, megtudhatja, hogyan taníthat be és helyezhet üzembe modelleket.

Ha többet szeretne megtudni arról, hogyan tervezhet munkaterületet a szervezet igényeinek megfelelően, olvassa el az Azure Machine Learning rendszerezése és beállítása című témakört.

Az Azure Machine Learning legújabb biztonsági frissítésekkel való naprakészen tartásáról a Biztonságirés-kezelés című témakörben olvashat bővebben.