Share via


Azure Machine Learning-werkruimten beheren met de Python SDK (v1)

VAN TOEPASSING OP: Python SDK azureml v1

In dit artikel maakt, bekijkt en verwijdert u Azure Machine Learning-werkruimten voor Azure Machine Learning met behulp van de SDK voor Python.

Naarmate uw behoeften veranderen of de vereisten voor automatisering toenemen, kunt u ook werkruimten beheren met behulp van de CLI of via de VS Code-extensie.

Vereisten

Beperkingen

  • Wanneer u een nieuwe werkruimte maakt, kunt u automatisch services maken die nodig zijn voor de werkruimte of bestaande services gebruiken. Als u bestaande services van een ander Azure-abonnement wilt gebruiken dan de werkruimte, moet u de Azure Machine Learning-naamruimte registreren in het abonnement dat deze services bevat. Als u bijvoorbeeld een werkruimte maakt in abonnement A die gebruikmaakt van een opslagaccount van abonnement B, moet de Azure Machine Learning-naamruimte zijn geregistreerd in abonnement B voordat u het opslagaccount met de werkruimte kunt gebruiken.

    De resourceprovider voor Azure Machine Learning is Microsoft.MachineLearningServices. Zie het artikel Azure-resourceproviders en typen voor informatie over hoe u kunt zien of deze is geregistreerd en hoe u deze registreert.

    Belangrijk

    Dit geldt alleen voor resources die worden geleverd tijdens het maken van de werkruimte; Azure Storage-accounts, Azure Container Register, Azure Key Vault en Application Insights.

  • Standaard maakt het maken van een werkruimte ook een Azure Container Registry (ACR). Aangezien ACR momenteel geen unicode-tekens in resourcegroepnamen ondersteunt, gebruikt u een resourcegroep die deze tekens niet bevat.

  • Azure Machine Learning biedt geen ondersteuning voor hiërarchische naamruimte (Azure Data Lake Storage Gen2-functie) voor het standaardopslagaccount van de werkruimte.

Fooi

Er wordt een Azure-toepassing Insights-exemplaar gemaakt wanneer u de werkruimte maakt. U kunt het Application Insights-exemplaar verwijderen nadat het cluster is gemaakt. Als u deze verwijdert, worden de gegevens die zijn verzameld uit de werkruimte beperkt en kan het lastiger zijn om problemen op te lossen. Als u het Application Insights-exemplaar verwijdert dat door de werkruimte is gemaakt, kunt u deze niet opnieuw maken zonder de werkruimte te verwijderen en opnieuw te maken.

Zie Gegevens van Machine Learning-webservice-eindpunten bewaken en verzamelen voor meer informatie over het gebruik van dit Application Insights-exemplaar.

Een werkruimte maken

U kunt rechtstreeks in Azure Machine Learning-studio een werkruimte maken met beperkte opties. Of gebruik een van de onderstaande methoden voor meer controle over opties.

  • Standaardspecificatie. Afhankelijke resources en de resourcegroep worden standaard automatisch gemaakt. Met deze code maakt u een werkruimte met de naam myworkspace en een resourcegroep met de naam myresourcegroup in eastus2.

    VAN TOEPASSING OP: Python SDK azureml v1

    from azureml.core import Workspace
    
    ws = Workspace.create(name='myworkspace',
                   subscription_id='<azure-subscription-id>',
                   resource_group='myresourcegroup',
                   create_resource_group=True,
                   location='eastus2'
                   )
    

    Stel create_resource_group deze optie in op False als u een bestaande Azure-resourcegroep hebt die u voor de werkruimte wilt gebruiken.

  • Meerdere tenants. Als u meerdere accounts hebt, voegt u de tenant-id van de Microsoft Entra-id toe die u wilt gebruiken. Zoek uw tenant-id in Azure Portal onder Microsoft Entra ID, Externe identiteiten.

    VAN TOEPASSING OP: Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Onafhankelijke cloud. U hebt extra code nodig om te verifiëren bij Azure als u in een onafhankelijke cloud werkt.

    VAN TOEPASSING OP: Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Gebruik bestaande Azure-resources. U kunt ook een werkruimte maken die gebruikmaakt van bestaande Azure-resources met de Indeling van de Azure-resource-id. Zoek de specifieke Azure-resource-id's in Azure Portal of met de SDK. In dit voorbeeld wordt ervan uitgegaan dat de resourcegroep, het opslagaccount, de sleutelkluis, App Insights en het containerregister al bestaan.

    VAN TOEPASSING OP: Python SDK azureml v1

    import os
    from azureml.core import Workspace
    from azureml.core.authentication import ServicePrincipalAuthentication
    
    service_principal_password = os.environ.get("AZUREML_PASSWORD")
    
    service_principal_auth = ServicePrincipalAuthentication(
        tenant_id="<tenant-id>",
        username="<application-id>",
        password=service_principal_password)
    
                          auth=service_principal_auth,
                               subscription_id='<azure-subscription-id>',
                               resource_group='myresourcegroup',
                               create_resource_group=False,
                               location='eastus2',
                               friendly_name='My workspace',
                               storage_account='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.storage/storageaccounts/mystorageaccount',
                               key_vault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/mykeyvault',
                               app_insights='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.insights/components/myappinsights',
                               container_registry='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.containerregistry/registries/mycontainerregistry',
                               exist_ok=False)
    

Zie de naslaginformatie over de Workspace SDK voor meer informatie.

Als u problemen ondervindt bij het openen van uw abonnement, raadpleegt u Verificatie instellen voor Azure Machine Learning-resources en -werkstromen, evenals de verificatie in het Azure Machine Learning-notebook .

Netwerken

Belangrijk

Zie Netwerkisolatie en privacy voor meer informatie over het gebruik van een privé-eindpunt en virtueel netwerk met uw werkruimte.

De Azure Machine Learning Python SDK biedt de PrivateEndpointConfig-klasse , die kan worden gebruikt met Workspace.create() om een werkruimte met een privé-eindpunt te maken. Voor deze klasse is een bestaand virtueel netwerk vereist.

Geavanceerd

Standaard worden metagegevens voor de werkruimte opgeslagen in een Azure Cosmos DB-exemplaar dat Door Microsoft wordt onderhouden. Deze gegevens worden versleuteld met door Microsoft beheerde sleutels.

Als u de gegevens wilt beperken die Door Microsoft in uw werkruimte worden verzameld, selecteert u een werkruimte met hoge bedrijfsimpact in de portal of stelt hbi_workspace=true u deze in Python in. Zie Versleuteling-at-rest voor meer informatie over deze instelling.

Belangrijk

Het selecteren van grote zakelijke impact kan alleen worden uitgevoerd bij het maken van een werkruimte. U kunt deze instelling niet wijzigen nadat de werkruimte is gemaakt.

Uw eigen gegevensversleutelingssleutel gebruiken

U kunt uw eigen sleutel opgeven voor gegevensversleuteling. Hiermee maakt u het Azure Cosmos DB-exemplaar waarin metagegevens in uw Azure-abonnement worden opgeslagen. Zie Door de klant beheerde sleutels voor Azure Machine Learning voor meer informatie.

Gebruik de volgende stappen om uw eigen sleutel op te geven:

Belangrijk

Voordat u deze stappen uitvoert, moet u eerst de volgende acties uitvoeren:

Volg de stappen in Door de klant beheerde sleutels configureren voor:

  • De Azure Cosmos DB-provider registreren
  • Een Azure Key Vault maken en configureren
  • Een sleutel genereren

Gebruik cmk_keyvault en resource_cmk_uri om de door de klant beheerde sleutel op te geven.

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               create_resource_group=True,
               location='eastus2'
               cmk_keyvault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/<keyvault-name>', 
               resource_cmk_uri='<key-identifier>'
               )

Een configuratiebestand downloaden

Als u een rekenproces in uw werkruimte gebruikt om uw code uit te voeren, slaat u deze stap over. Het rekenproces maakt en slaat een kopie van dit bestand voor u op.

Als u van plan bent code te gebruiken in uw lokale omgeving die verwijst naar deze werkruimte (ws), schrijft u het configuratiebestand:

VAN TOEPASSING OP: Python SDK azureml v1

ws.write_config()

Plaats het bestand in de mapstructuur met uw Python-scripts of Jupyter Notebooks. Deze kan zich in dezelfde map, een submap met de naam .azureml of in een bovenliggende map bevinden. Wanneer u een rekenproces maakt, wordt dit bestand voor u toegevoegd aan de juiste map op de VIRTUELE machine.

Verbinding maken met een werkruimte

In uw Python-code maakt u een werkruimteobject om verbinding te maken met uw werkruimte. Met deze code wordt de inhoud van het configuratiebestand gelezen om uw werkruimte te vinden. U krijgt een prompt om u aan te melden als u nog niet bent geverifieerd.

VAN TOEPASSING OP: Python SDK azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()
  • Meerdere tenants. Als u meerdere accounts hebt, voegt u de tenant-id van de Microsoft Entra-id toe die u wilt gebruiken. Zoek uw tenant-id in Azure Portal onder Microsoft Entra ID, Externe identiteiten.

    VAN TOEPASSING OP: Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.from_config(auth=interactive_auth)
    
  • Onafhankelijke cloud. U hebt extra code nodig om te verifiëren bij Azure als u in een onafhankelijke cloud werkt.

    VAN TOEPASSING OP: Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.from_config(auth=interactive_auth)
    

Als u problemen ondervindt bij het openen van uw abonnement, raadpleegt u Verificatie instellen voor Azure Machine Learning-resources en -werkstromen, evenals de verificatie in het Azure Machine Learning-notebook .

Een werkruimte zoeken

Bekijk een lijst met alle werkruimten die u kunt gebruiken.

Zoek uw abonnementen op de pagina Abonnementen in Azure Portal. Kopieer de id en gebruik deze in de onderstaande code om alle werkruimten te zien die beschikbaar zijn voor dat abonnement.

VAN TOEPASSING OP: Python SDK azureml v1

from azureml.core import Workspace

Workspace.list('<subscription-id>')

De methode Workspace.list(..) retourneert niet het volledige werkruimteobject. Het bevat alleen basisinformatie over bestaande werkruimten in het abonnement. Als u een volledig object voor een specifieke werkruimte wilt ophalen, gebruikt u Workspace.get(.).

Een werkruimte verwijderen

Wanneer u een werkruimte niet meer nodig hebt, verwijdert u deze.

Waarschuwing

Als voorlopig verwijderen is ingeschakeld voor de werkruimte, kan deze na verwijdering worden hersteld. Als voorlopig verwijderen niet is ingeschakeld of u de optie selecteert om de werkruimte permanent te verwijderen, kan deze niet worden hersteld. Zie Een verwijderde werkruimte herstellen voor meer informatie.

Fooi

Het standaardgedrag voor Azure Machine Learning is om de werkruimte voorlopig te verwijderen . Dit betekent dat de werkruimte niet onmiddellijk wordt verwijderd, maar in plaats daarvan is gemarkeerd voor verwijdering. Zie Voorlopig verwijderen voor meer informatie.

De werkruimte wsverwijderen:

VAN TOEPASSING OP: Python SDK azureml v1

ws.delete(delete_dependent_resources=False, no_wait=False)

De standaardactie is niet om resources te verwijderen die zijn gekoppeld aan de werkruimte, dat wil gezegd: containerregister, opslagaccount, sleutelkluis en Application Insights. Stel in op delete_dependent_resources Waar om deze resources ook te verwijderen.

Resources opschonen

Belangrijk

De resources die u hebt gemaakt, kunnen worden gebruikt als de vereisten voor andere Azure Machine Learning-zelfstudies en artikelen met procedures.

Als u niet van plan bent om een van de resources te gebruiken die u hebt gemaakt, verwijdert u deze zodat er geen kosten in rekening worden gebracht:

  1. Selecteer Resourcegroepen links in Azure Portal.

  2. Selecteer de resourcegroep die u hebt gemaakt uit de lijst.

  3. Selecteer Resourcegroep verwijderen.

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. Voer de naam van de resourcegroup in. Selecteer daarna Verwijderen.

Problemen oplossen

  • Ondersteunde browsers in Azure Machine Learning-studio: u wordt aangeraden de meest recente browser te gebruiken die compatibel is met uw besturingssysteem. De volgende browsers worden ondersteund:

    • Microsoft Edge (de nieuwe Versie van Microsoft Edge, nieuwste versie. Niet verouderd voor Microsoft Edge)
    • Safari (nieuwste versie, alleen Mac)
    • Chrome (nieuwste versie)
    • Firefox (nieuwste versie)
  • Azure Portal:

    • Als u rechtstreeks naar uw werkruimte gaat via een sharekoppeling vanuit de SDK of Azure Portal, kunt u de standaardoverzichtspagina met abonnementsgegevens in de extensie niet weergeven. In dit scenario kunt u ook niet overschakelen naar een andere werkruimte. Als u een andere werkruimte wilt weergeven, gaat u rechtstreeks naar Azure Machine Learning-studio en zoekt u de naam van de werkruimte.
    • Alle assets (gegevens, experimenten, berekeningen, enzovoort) zijn alleen beschikbaar in Azure Machine Learning-studio. Ze zijn niet beschikbaar vanuit Azure Portal.
    • Als u probeert een sjabloon te exporteren voor een werkruimte vanuit Azure Portal, kan er een fout worden geretourneerd die vergelijkbaar is met de volgende tekst: Could not get resource of the type <type>. Resources of this type will not be exported. Gebruik als tijdelijke oplossing een van de sjablonen die zijn https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices opgegeven als basis voor uw sjabloon.

Werkruimtediagnose

U kunt diagnostische gegevens uitvoeren in uw werkruimte vanuit Azure Machine Learning-studio of de Python SDK. Nadat diagnostische gegevens zijn uitgevoerd, wordt een lijst met gedetecteerde problemen geretourneerd. Deze lijst bevat koppelingen naar mogelijke oplossingen. Zie Diagnostische gegevens over werkruimten gebruiken voor meer informatie.

Fouten met resourceprovider

Wanneer u een Azure Machine Learning-werkruimte maakt of een resource die door de werkruimte wordt gebruikt, ontvangt u mogelijk een foutbericht die op een van de volgende berichten lijkt:

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

De meeste resourceproviders worden automatisch geregistreerd, maar niet allemaal. Als u dit bericht ontvangt, moet u de vermelde provider registreren.

De volgende tabel bevat een lijst met de resourceproviders die vereist zijn voor Azure Machine Learning:

Resourceprovider Waarom dit nodig is
Microsoft.MachineLearningServices De Azure Machine Learning-werkruimte maken.
Microsoft.Storage Azure Storage-account wordt gebruikt als de standaardopslag voor de werkruimte.
Microsoft.ContainerRegistry Azure Container Registry wordt door de werkruimte gebruikt om Docker-installatiekopieën te bouwen.
Microsoft.KeyVault Azure Key Vault wordt door de werkruimte gebruikt om geheimen op te slaan.
Microsoft.Notebooks Geïntegreerde notebooks in een Azure Machine Learning-rekenproces.
Microsoft.ContainerService Als u van plan bent getrainde modellen te implementeren in Azure Kubernetes Services.

Als u van plan bent om een door de klant beheerde sleutel te gebruiken met Azure Machine Learning, moeten de volgende serviceproviders zijn geregistreerd:

Resourceprovider Waarom dit nodig is
Microsoft.DocumentDB Azure CosmosDB-exemplaar dat metagegevens voor de werkruimte registreert.
Microsoft.Search Azure Search biedt indexeringsmogelijkheden voor de werkruimte.

Als u van plan bent om een beheerd virtueel netwerk te gebruiken met Azure Machine Learning, moet de resourceprovider Microsoft.Network worden geregistreerd. Deze resourceprovider wordt door de werkruimte gebruikt bij het maken van privé-eindpunten voor het beheerde virtuele netwerk.

Zie Fouten oplossen voor de registratie van de resourceprovider voor informatie over het registreren van resourceproviders.

Azure Container Registry verwijderen

De Azure Machine Learning-werkruimte maakt gebruik van Azure Container Registry (ACR) voor sommige bewerkingen. Er wordt automatisch een ACR-exemplaar gemaakt wanneer deze er eerst een nodig heeft.

Waarschuwing

Als er een Azure Container Registry voor een werkruimte is gemaakt, moet u deze niet verwijderen. Als u dat doet, werkt de Azure Machine Learning-werkruimte niet meer.

Volgende stappen

Zodra u een werkruimte hebt, leert u hoe u een model traint en implementeert.

Zie Azure Machine Learning organiseren en instellen voor meer informatie over het plannen van een werkruimte voor de vereisten van uw organisatie.

Zie Beheer van beveiligingsproblemen voor informatie over het up-to-date houden van Azure Machine Learning met de nieuwste beveiligingsupdates.