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:
Adja meg az előfizetés adatait
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"
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
DefaultAzureCredential
fá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ájlbaneastus2
.# 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:
Munkaterület kiválasztása az Azure Studióban
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.
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:
Az Azure Portalon válassza az Erőforráscsoportok lehetőséget a bal szélen.
Válassza ki a létrehozott erőforráscsoportot a listából.
Válassza az Erőforráscsoport törlése elemet.
Í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.
- Ha át kell helyeznie egy munkaterületet egy másik Azure-előfizetésbe, olvassa el a Munkaterület áthelyezése 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.