Hantera en Azure Mašinsko učenje-beräkningsinstans

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Lär dig hur du hanterar en beräkningsinstans i din Azure Mašinsko učenje-arbetsyta.

Använd en beräkningsinstans som din fullständigt konfigurerade och hanterade utvecklingsmiljö i molnet. För utveckling och testning kan du också använda instansen som träningsberäkningsmål. En beräkningsinstans kan köra flera jobb parallellt och har en jobbkö. Som utvecklingsmiljö kan en beräkningsinstans inte delas med andra användare på din arbetsyta.

I den här artikeln får du lära dig hur du startar, stoppar, startar om, tar bort en beräkningsinstans. Information om hur du skapar en beräkningsinstans finns i Skapa en Azure Mašinsko učenje beräkningsinstans.

Kommentar

Den här artikeln visar CLI v2 i avsnitten nedan. Om du fortfarande använder CLI v1 läser du Skapa ett Azure Mašinsko učenje beräkningskluster CLI v1.

Förutsättningar

Välj lämplig flik för resten av förhandskraven baserat på den metod som du föredrar för att hantera beräkningsinstansen.

  • Om du inte kör koden på en beräkningsinstans installerar du Azure Mašinsko učenje Python SDK. Denna SDK är redan installerad åt dig på en beräkningsinstans.

  • Koppla till arbetsytan i Python-skriptet:

    Kör den här koden för att ansluta till din Azure Mašinsko učenje-arbetsyta.

    Ersätt ditt prenumerations-ID, resursgruppsnamn och arbetsytenamn i följande kod. Så här hittar du följande värden:

    1. Logga in på Azure Mašinsko učenje Studio.
    2. Öppna den arbetsyta som du vill använda.
    3. Välj ditt arbetsytenamn i det övre högra Azure Mašinsko učenje Studio-verktygsfältet.
    4. Kopiera värdet för arbetsyta, resursgrupp och prenumerations-ID till koden.

    GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

    # Enter details of your AML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AML_WORKSPACE_NAME>"
    # get a handle to the workspace
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(
        DefaultAzureCredential(), subscription_id, resource_group, workspace
    )

    ml_client är en hanterare för den arbetsyta som du använder för att hantera andra resurser och jobb.

Hantera

Starta, stoppa, starta om och ta bort en beräkningsinstans. En beräkningsinstans skalas inte alltid ned automatiskt, så se till att stoppa resursen för att förhindra löpande avgifter. Om du stoppar en beräkningsinstans frigörs den. Starta den sedan igen när du behöver den. När du stoppar beräkningsinstansen stoppas debiteringen för beräkningstimmar, men du debiteras fortfarande för disk, offentlig IP och standardlastbalanserare.

Du kan aktivera automatisk avstängning för att automatiskt stoppa beräkningsinstansen efter en angiven tid.

Du kan också skapa ett schema för beräkningsinstansen att automatiskt starta och stoppa baserat på en tid och en veckodag.

Dricks

Beräkningsinstansen har en OS-disk på 120 GB. Om diskutrymmet tar slut använder du terminalen för att rensa minst 1–2 GB innan du stoppar eller startar om beräkningsinstansen. Stoppa inte beräkningsinstansen genom att utfärda sudo-avstängning från terminalen. Den temporära diskstorleken på beräkningsinstansen beror på den valda VM-storleken och är monterad på /mnt.

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

I dessa exempel lagras namnet på beräkningsinstansen i variabeln ci_basic_name.

  • Hämta status

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Get compute
    ci_basic_state = ml_client.compute.get(ci_basic_name)
  • Stoppa

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Stop compute
    ml_client.compute.begin_stop(ci_basic_name).wait()
  • Start

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Start compute
    ml_client.compute.begin_start(ci_basic_name).wait()
  • Starta om

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Restart compute
    ml_client.compute.begin_restart(ci_basic_name).wait()
  • Delete

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    ml_client.compute.begin_delete(ci_basic_name).wait()

Med Azure RBAC kan du styra vilka användare på arbetsytan som kan skapa, ta bort, starta, stoppa, starta om en beräkningsinstans. Alla användare i arbetsytans deltagare och ägarroll kan skapa, ta bort, starta, stoppa och starta om beräkningsinstanser på arbetsytan. Men endast skaparen av en specifik beräkningsinstans, eller användaren som tilldelats om den skapades för deras räkning, får åtkomst till Jupyter, JupyterLab och RStudio på den beräkningsinstansen. En beräkningsinstans är dedikerad till en enskild användare som har rotåtkomst. Den användaren har åtkomst till Jupyter/JupyterLab/RStudio som körs på instansen. Beräkningsinstansen har enkel inloggning och alla åtgärder använder användarens identitet för Azure RBAC och tilldelning av experimentjobb. SSH-åtkomst styrs via offentlig/privat nyckelmekanism.

Dessa åtgärder kan styras av Azure RBAC:

  • Microsoft.MachineLearningServices/workspaces/computes/read
  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/computes/delete
  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

Om du vill skapa en beräkningsinstans behöver du behörigheter för följande åtgärder:

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

Granska och observera beräkningsinstansversionen

När en beräkningsinstans har distribuerats uppdateras den inte automatiskt. Microsoft släpper nya VM-bilder varje månad. Information om hur du håller dig uppdaterad med den senaste versionen finns i hantering av säkerhetsrisker.

Om du vill hålla reda på om en instans operativsystemversion är aktuell kan du fråga dess version med hjälp av CLI, SDK eller Studio-användargränssnittet.

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

from azure.ai.ml.entities import ComputeInstance, AmlCompute

# Display operating system version
instance = ml_client.compute.get("myci")
print instance.os_image_metadata

Mer information om de klasser, metoder och parametrar som används i det här exemplet finns i följande referensdokument:

IT-administratörer kan använda Azure Policy för att övervaka inventeringen av instanser på arbetsytor i efterlevnadsportalen för Azure Policy. Tilldela den inbyggda principen Granska Azure Machine Learning-beräkningsinstanser med ett inaktuellt operativsystem i en Azure-prenumeration eller Azure-hanteringsgruppsomfång.

Nästa steg