Zarządzanie obszarami roboczymi usługi Azure Machine Learning w portalu lub za pomocą zestawu SDK języka Python

W tym artykule tworzysz, wyświetlasz i usuwasz obszary robocze usługi Azure Machine Learning dla usługi Azure Machine Learning przy użyciu Azure Portal lub zestawu SDK dla języka Python

Wraz ze zmianami lub wymaganiami dotyczącymi automatyzacji można również zarządzać obszarami roboczymi przy użyciu interfejsu wiersza polecenia lub za pośrednictwem rozszerzenia programu VS Code.

Wymagania wstępne

Ograniczenia

  • Podczas tworzenia nowego obszaru roboczego można automatycznie tworzyć usługi wymagane przez obszar roboczy lub korzystać z istniejących usług. Jeśli chcesz używać istniejących usług z innej subskrypcji platformy Azure niż obszar roboczy, musisz zarejestrować przestrzeń nazw usługi Azure Machine Learning w subskrypcji zawierającej te usługi. Na przykład utworzenie obszaru roboczego w subskrypcji A korzystającej z konta magazynu z subskrypcji B, przestrzeń nazw usługi Azure Machine Learning musi być zarejestrowana w subskrypcji B, zanim będzie można używać konta magazynu z obszarem roboczym.

    Dostawca zasobów dla usługi Azure Machine Learning to Microsoft.MachineLearningServices. Aby uzyskać informacje na temat sposobu rejestrowania i rejestrowania go, zobacz artykuł Azure resource providers and types (Dostawcy zasobów i typy zasobów platformy Azure ).

    Ważne

    Dotyczy to tylko zasobów udostępnianych podczas tworzenia obszaru roboczego; Konta usługi Azure Storage, rejestr kontenerów platformy Azure, usługa Azure Key Vault i usługa Application Insights.

  • Domyślnie utworzenie obszaru roboczego powoduje również utworzenie Azure Container Registry (ACR). Ponieważ usługa ACR nie obsługuje obecnie znaków Unicode w nazwach grup zasobów, należy użyć grupy zasobów, która nie zawiera tych znaków.

  • Usługa Azure Machine Learning nie obsługuje hierarchicznej przestrzeni nazw (Azure Data Lake Storage Gen2 funkcji) dla domyślnego konta magazynu obszaru roboczego.

Porada

Wystąpienie usługi aplikacja systemu Azure Insights jest tworzone podczas tworzenia obszaru roboczego. Jeśli chcesz, możesz usunąć wystąpienie usługi Application Insights po utworzeniu klastra. Usunięcie go ogranicza informacje zebrane z obszaru roboczego i może utrudnić rozwiązywanie problemów. Jeśli usuniesz wystąpienie usługi Application Insights utworzone przez obszar roboczy, nie będzie można utworzyć go ponownie bez usuwania i ponownego tworzenia obszaru roboczego.

Aby uzyskać więcej informacji na temat korzystania z tego wystąpienia usługi Application Insights, zobacz Monitorowanie i zbieranie danych z punktów końcowych usługi sieci Web Machine Learning.

Tworzenie obszaru roboczego

DOTYCZY:Zestaw SDK języka Python w wersji 1

  • Specyfikacja domyślna. Domyślnie zasoby zależne i grupa zasobów zostaną utworzone automatycznie. Ten kod tworzy obszar roboczy o nazwie myworkspace i grupę zasobów o nazwie myresourcegroup w .eastus2

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

    Ustaw create_resource_group wartość Fałsz, jeśli masz istniejącą grupę zasobów platformy Azure, której chcesz użyć dla obszaru roboczego.

  • Wiele dzierżaw. Jeśli masz wiele kont, dodaj identyfikator dzierżawy usługi Azure Active Directory, której chcesz użyć. Znajdź swój identyfikator dzierżawy z Azure Portal w obszarze Azure Active Directory, External Identities.

    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
                )
    
  • Suwerenna chmura. Jeśli pracujesz w suwerennej chmurze, potrzebujesz dodatkowego kodu do uwierzytelniania na platformie Azure.

    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
                )
    
  • Użyj istniejących zasobów platformy Azure. Możesz również utworzyć obszar roboczy, który używa istniejących zasobów platformy Azure z formatem identyfikatora zasobu platformy Azure. Znajdź określone identyfikatory zasobów platformy Azure w Azure Portal lub za pomocą zestawu SDK. W tym przykładzie przyjęto założenie, że grupa zasobów, konto magazynu, magazyn kluczy, usługa App Insights i rejestr kontenerów już istnieją.

    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)
    

Aby uzyskać więcej informacji, zobacz Workspace SDK reference (Dokumentacja zestawu SDK obszaru roboczego).

Jeśli masz problemy z dostępem do subskrypcji, zobacz Konfigurowanie uwierzytelniania dla zasobów i przepływów pracy usługi Azure Machine Learning, a także uwierzytelnianie w notesie usługi Azure Machine Learning .

Sieć

Ważne

Aby uzyskać więcej informacji na temat korzystania z prywatnego punktu końcowego i sieci wirtualnej z obszarem roboczym, zobacz Izolacja sieciowa i prywatność.

Zestaw SDK języka Python usługi Azure Machine Learning udostępnia klasę PrivateEndpointConfig , której można użyć z elementem Workspace.create() do utworzenia obszaru roboczego z prywatnym punktem końcowym. Ta klasa wymaga istniejącej sieci wirtualnej.

Zaawansowany

Domyślnie metadane obszaru roboczego są przechowywane w wystąpieniu usługi Azure Cosmos DB, które utrzymuje firma Microsoft. Te dane są szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft.

Aby ograniczyć dane zbierane przez firmę Microsoft w obszarze roboczym, wybierz pozycję Obszar roboczy o dużym wpływie na działalność biznesową w portalu lub ustaw go w języku hbi_workspace=true Python. Aby uzyskać więcej informacji na temat tego ustawienia, zobacz Szyfrowanie magazynowane.

Ważne

Wybranie dużego wpływu na działalność biznesową można wykonać tylko podczas tworzenia obszaru roboczego. Nie można zmienić tego ustawienia po utworzeniu obszaru roboczego.

Używanie własnego klucza

Możesz podać własny klucz do szyfrowania danych. Spowoduje to utworzenie wystąpienia usługi Azure Cosmos DB, które przechowuje metadane w subskrypcji platformy Azure. Aby uzyskać więcej informacji, zobacz [Klucze zarządzane przez klienta](concept-customer-managed keys.md).

Aby podać własny klucz, wykonaj następujące kroki:

Ważne

Przed wykonaniem tych kroków należy najpierw wykonać następujące czynności:

Wykonaj kroki opisane w temacie Konfigurowanie kluczy zarządzanych przez klienta , aby:

  • Rejestrowanie dostawcy usługi Azure Cosmos DB
  • Tworzenie i konfigurowanie usługi Azure Key Vault
  • Generowanie klucza

Użyj cmk_keyvault polecenia i resource_cmk_uri , aby określić klucz zarządzany przez klienta.

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>'
               )

Pobieranie pliku konfiguracji

Jeśli utworzysz wystąpienie obliczeniowe, pomiń ten krok. Wystąpienie obliczeniowe utworzyło już kopię tego pliku.

Jeśli planujesz użyć kodu w środowisku lokalnym, które odwołuje się do tego obszaru roboczego (ws), zapisz plik konfiguracji:

ws.write_config()

Umieść plik w strukturze katalogów przy użyciu skryptów języka Python lub notesów Jupyter Notebook. Może znajdować się w tym samym katalogu, podkatalogu o nazwie .azureml lub w katalogu nadrzędnym. Podczas tworzenia wystąpienia obliczeniowego ten plik jest dodawany do odpowiedniego katalogu na maszynie wirtualnej.

Łączenie z obszarem roboczym

DOTYCZY:Zestaw SDK języka Python w wersji 1

W kodzie języka Python utworzysz obiekt obszaru roboczego w celu nawiązania połączenia z obszarem roboczym. Ten kod odczytuje zawartość pliku konfiguracji, aby znaleźć obszar roboczy. Jeśli jeszcze nie uwierzytelniono, zostanie wyświetlony monit o zalogowanie się.

from azureml.core import Workspace

ws = Workspace.from_config()
  • Wiele dzierżaw. Jeśli masz wiele kont, dodaj identyfikator dzierżawy usługi Azure Active Directory, której chcesz użyć. Znajdź swój identyfikator dzierżawy z Azure Portal w obszarze Azure Active Directory, tożsamości zewnętrzne.

    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)
    
  • Suwerenna chmura. Jeśli pracujesz w suwerennej chmurze, potrzebujesz dodatkowego kodu do uwierzytelniania na platformie Azure.

    DOTYCZY:Zestaw SDK języka Python w wersji 1

    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)
    

Jeśli masz problemy z uzyskiwaniem dostępu do subskrypcji, zobacz Konfigurowanie uwierzytelniania dla zasobów i przepływów pracy usługi Azure Machine Learning, a także uwierzytelnianie w notesie usługi Azure Machine Learning .

Znajdowanie obszaru roboczego

Zobacz listę wszystkich obszarów roboczych, których można użyć.

DOTYCZY:Zestaw SDK języka Python w wersji 1

Znajdź swoje subskrypcje na stronie Subskrypcje w Azure Portal. Skopiuj identyfikator i użyj go w poniższym kodzie, aby wyświetlić wszystkie obszary robocze dostępne dla tej subskrypcji.

from azureml.core import Workspace

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

Metoda Workspace.list(..) nie zwraca pełnego obiektu obszaru roboczego. Zawiera tylko podstawowe informacje o istniejących obszarach roboczych w subskrypcji. Aby uzyskać pełny obiekt dla określonego obszaru roboczego, użyj polecenia Workspace.get(..).

Wyszukiwanie zasobów w obszarze roboczym (wersja zapoznawcza)

Dzięki funkcji wyszukiwania w publicznej wersji zapoznawczej można wyszukiwać zasoby uczenia maszynowego, takie jak zadania, modele, składniki, środowiska i dane we wszystkich obszarach roboczych, grupach zasobów i subskrypcjach w organizacji za pomocą ujednoliconego widoku globalnego.

  1. Zacznij od Azure Machine Learning studio.
  2. Jeśli obszar roboczy jest otwarty, wybierz element menu firmy Microsoft lub link microsoft w witrynie do stron nadrzędnych w górnej części strony.

Zrzut ekranu przedstawia dwa sposoby, aby przejść do strony głównej — element menu lub link do stron nadrzędnych.

Wpisz tekst wyszukiwania na pasku wyszukiwanie globalne w górnej części strony firmy Microsoft i naciśnij klawisz Enter, aby wyzwolić wyszukiwanie "contains". Element zawiera skanowanie wyszukiwania we wszystkich polach metadanych dla danego zasobu i sortuje istotność wyników.

Zrzut ekranu przedstawia górny pasek wyszukiwania.

Możesz użyć szybkich linków do zasobów, aby przejść do wyników wyszukiwania zadań, modeli, składników, środowisk i utworzonych zasobów danych.

Ponadto możesz zmienić zakres odpowiednich subskrypcji i obszarów roboczych za pośrednictwem linku "Zmień" na liście rozwijanej paska wyszukiwania.

Lista paska wyszukiwania

Wybierz dowolną liczbę filtrów, aby utworzyć bardziej szczegółowe zapytania wyszukiwania. Obsługiwane są następujące filtry:

  • Zadanie:
  • Model:
  • Składnik:
  • Tagi:
  • Przesłaneby:
  • Środowisko:
  • Dane:

Jeśli jest obecny filtr zasobów (zadanie, model, składnik, środowisko, dane), wyniki są ograniczone do tych kart. Inne filtry mają zastosowanie do wszystkich zasobów, chyba że filtr zasobu jest również obecny w zapytaniu. Podobnie wyszukiwanie wolnego tekstu można podać obok filtrów, ale są ograniczone do kart wybranych przez filtry zasobów, jeśli są obecne.

Porada

  • Filtry wyszukują dokładne dopasowania tekstu. Użyj bezpłatnych zapytań tekstowych do wyszukiwania zawiera.
  • Cudzysłowy są wymagane w przypadku wartości zawierających spacje lub inne znaki specjalne.
  • Jeśli podano zduplikowane filtry, tylko pierwszy zostanie rozpoznany w wynikach wyszukiwania.
  • Tekst wejściowy dowolnego języka jest obsługiwany, ale ciągi filtrów muszą być zgodne z podanymi opcjami (np. submittedBy:).
  • Filtr tagów może akceptować wiele par klucz:wartość rozdzielonych przecinkiem (np. tags:"key1:value1, key2:value2").

Wyświetlanie wyników wyszukiwania

Wyniki wyszukiwania można wyświetlić na poszczególnych kartach Zadania, Modele, Składniki, Środowiska i Dane . Wybierz zasób, aby otworzyć stronę Szczegóły w kontekście odpowiedniego obszaru roboczego. Wyniki z obszarów roboczych, do których nie masz uprawnień do wyświetlania, nie są wyświetlane.

Wyniki wyświetlane po wyszukiwaniu

Jeśli ta funkcja została użyta w poprzedniej aktualizacji, może wystąpić błąd wyniku wyszukiwania. Ponownie wybierz preferowane obszary robocze na karcie Katalog + subskrypcja i obszar roboczy.

Ważne

Wyniki wyszukiwania mogą być nieoczekiwane dla wielu terminów w innych językach (np. znaki chińskie).

Usuwanie obszaru roboczego

Jeśli obszar roboczy nie jest już potrzebny, usuń go.

Ostrzeżenie

Po usunięciu obszaru roboczego usługi Azure Machine Learning nie można go odzyskać.

Jeśli obszar roboczy został przypadkowo usunięty, nadal możesz pobrać notesy. Aby uzyskać szczegółowe informacje, zobacz Tryb failover na potrzeby ciągłości działania i odzyskiwania po awarii.

DOTYCZY:Zestaw SDK języka Python w wersji 1

Usuń obszar roboczy ws:

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

Domyślną akcją nie jest usuwanie zasobów skojarzonych z obszarem roboczym, czyli rejestru kontenerów, konta magazynu, magazynu kluczy i usługi Application Insights. Ustaw również wartość delete_dependent_resources True, aby usunąć te zasoby.

Czyszczenie zasobów

Ważne

Utworzone zasoby mogą być używane jako wymagania wstępne w innych samouczkach usługi Azure Machine Learning i artykułach z instrukcjami.

Jeśli nie planujesz korzystać z żadnych utworzonych zasobów, usuń je, aby nie ponosić żadnych opłat:

  1. W witrynie Azure Portal na końcu z lewej strony wybierz pozycję Grupy zasobów.

  2. Z listy wybierz utworzoną przez siebie grupę zasobów.

  3. Wybierz pozycję Usuń grupę zasobów.

    Zrzut ekranu przedstawiający opcje usuwania grupy zasobów w witrynie Azure Portal.

  4. Wpisz nazwę grupy zasobów. Następnie wybierz pozycję Usuń.

Rozwiązywanie problemów

  • Obsługiwane przeglądarki w Azure Machine Learning studio: zalecamy korzystanie z najbardziej aktualnej przeglądarki zgodnej z systemem operacyjnym. Obsługiwane są następujące przeglądarki:

    • Microsoft Edge (nowa przeglądarka Microsoft Edge, najnowsza wersja. Nie starsza wersja przeglądarki Microsoft Edge)
    • Safari (najnowsza wersja, tylko Mac)
    • Chrome (najnowsza wersja)
    • Firefox (najnowsza wersja)
  • Azure Portal:

    • Jeśli przejdziesz bezpośrednio do obszaru roboczego z linku udostępniania z zestawu SDK lub Azure Portal, nie możesz wyświetlić standardowej strony Przegląd zawierającej informacje o subskrypcji w rozszerzeniu. W tym scenariuszu nie można również przełączyć się do innego obszaru roboczego. Aby wyświetlić inny obszar roboczy, przejdź bezpośrednio do Azure Machine Learning studio i wyszukaj nazwę obszaru roboczego.
    • Wszystkie zasoby (dane, eksperymenty, obliczenia itd.) są dostępne tylko w Azure Machine Learning studio. Nie są one dostępne w Azure Portal.
    • Próba wyeksportowania szablonu dla obszaru roboczego z Azure Portal może spowodować zwrócenie błędu podobnego do następującego tekstu: Could not get resource of the type <type>. Resources of this type will not be exported. Jako obejście użyj jednego z szablonów udostępnionych jako https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices podstawy szablonu.

Diagnostyka obszaru roboczego

Diagnostykę obszaru roboczego można uruchomić z poziomu Azure Machine Learning studio lub zestawu SDK języka Python. Po uruchomieniu diagnostyki zostanie zwrócona lista wykrytych problemów. Ta lista zawiera linki do możliwych rozwiązań. Aby uzyskać więcej informacji, zobacz Jak używać diagnostyki obszaru roboczego.

Błędy dostawcy zasobów

Podczas tworzenia obszaru roboczego usługi Azure Machine Learning lub zasobu używanego przez obszar roboczy może zostać wyświetlony błąd podobny do następujących komunikatów:

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

Większość dostawców zasobów jest automatycznie rejestrowana, ale nie wszystkie. Jeśli zostanie wyświetlony ten komunikat, musisz zarejestrować wymienionego dostawcę.

Poniższa tabela zawiera listę dostawców zasobów wymaganych przez usługę Azure Machine Learning:

Dostawca zasobów Dlaczego jest to potrzebne
Microsoft.MachineLearningServices Tworzenie obszaru roboczego usługi Azure Machine Learning.
Microsoft.Storage Konto usługi Azure Storage jest używane jako domyślny magazyn dla obszaru roboczego.
Microsoft.ContainerRegistry Azure Container Registry jest używany przez obszar roboczy do tworzenia obrazów platformy Docker.
Microsoft.KeyVault Usługa Azure Key Vault jest używana przez obszar roboczy do przechowywania wpisów tajnych.
Microsoft.Notebooks/NotebookProxies Zintegrowane notesy w wystąpieniu obliczeniowym usługi Azure Machine Learning.
Microsoft.ContainerService Jeśli planujesz wdrażanie wytrenowanych modeli w usługach Azure Kubernetes Services.

Jeśli planujesz korzystanie z klucza zarządzanego przez klienta w usłudze Azure Machine Learning, należy zarejestrować następujących dostawców usług:

Dostawca zasobów Dlaczego jest to potrzebne
Microsoft.DocumentDB/databaseAccounts Wystąpienie usługi Azure CosmosDB, które rejestruje metadane obszaru roboczego.
Microsoft.Search/searchServices Usługa Azure Search udostępnia funkcje indeksowania dla obszaru roboczego.

Aby uzyskać informacje na temat rejestrowania dostawców zasobów, zobacz Rozwiązywanie błędów dotyczących rejestracji dostawcy zasobów.

Usuwanie Azure Container Registry

Obszar roboczy usługi Azure Machine Learning używa Azure Container Registry (ACR) dla niektórych operacji. Spowoduje to automatyczne utworzenie wystąpienia usługi ACR, gdy będzie ono najpierw potrzebne.

Ostrzeżenie

Po utworzeniu Azure Container Registry dla obszaru roboczego nie usuwaj go. Spowoduje to przerwanie obszaru roboczego usługi Azure Machine Learning.

Przykłady

Przykłady tworzenia obszaru roboczego:

Następne kroki

Po utworzeniu obszaru roboczego dowiedz się, jak trenować i wdrażać model.

Aby dowiedzieć się więcej na temat planowania obszaru roboczego pod kątem wymagań organizacji, zobacz Organizowanie i konfigurowanie usługi Azure Machine Learning.

Aby sprawdzić, czy występują problemy z obszarem roboczym, zobacz Jak używać diagnostyki obszaru roboczego.

Jeśli musisz przenieść obszar roboczy do innej subskrypcji platformy Azure, zobacz Jak przenieść obszar roboczy.

Aby uzyskać informacje na temat aktualizowania usługi Azure ML przy użyciu najnowszych aktualizacji zabezpieczeń, zobacz Zarządzanie lukami w zabezpieczeniach.