Konfigurowanie środowiska deweloperskiego języka Python dla usługi Azure Machine Learning
Dowiedz się, jak skonfigurować środowisko deweloperskie języka Python dla usługi Azure Machine Learning.
W poniższej tabeli przedstawiono każde środowisko projektowe omówione w tym artykule wraz z zaletami i wadami.
Środowisko | Zalety | Wady |
---|---|---|
Środowisko lokalne | Pełna kontrola nad środowiskiem projektistycznym i zależnościami. Uruchom polecenie za pomocą dowolnego wybranego narzędzia kompilacji, środowiska lub środowiska IDE. | Rozpoczęcie pracy trwa dłużej. Wymagane pakiety zestawu SDK muszą być zainstalowane, a środowisko musi być również zainstalowane, jeśli jeszcze go nie masz. |
Data Science Virtual Machine (DSVM) | Podobnie jak w przypadku wystąpienia obliczeniowego opartego na chmurze (język Python jest wstępnie zainstalowany), ale z dodatkowymi popularnymi narzędziami do nauki o danych i uczenia maszynowego wstępnie zainstalowanymi. Łatwe skalowanie i łączenie z innymi niestandardowymi narzędziami i przepływami pracy. | Wolniejsze środowisko rozpoczynania pracy w porównaniu z wystąpieniem obliczeniowym opartym na chmurze. |
Wystąpienie obliczeniowe usługi Azure Machine Learning | Najprostszym sposobem rozpoczęcia pracy. Zestaw SDK jest już zainstalowany na maszynie wirtualnej obszaru roboczego, a samouczki dotyczące notesów są wstępnie sklonowane i gotowe do uruchomienia. | Brak kontroli nad środowiskiem projektistycznym i zależnościami. Dodatkowe koszty związane z maszyną wirtualną z systemem Linux (maszyna wirtualna może zostać zatrzymana, gdy nie jest używana w celu uniknięcia opłat). Zobacz szczegóły cennika. |
Azure Databricks | Idealne rozwiązanie do uruchamiania przepływów pracy uczenia maszynowego na dużą skalę na skalowalnej platformie Apache Spark. | Overkill dla eksperymentalnego uczenia maszynowego lub eksperymentów na mniejszą skalę i przepływów pracy. Dodatkowe koszty związane z usługą Azure Databricks. Zobacz szczegóły cennika. |
Ten artykuł zawiera również dodatkowe porady dotyczące użycia dla następujących narzędzi:
Notesy Jupyter Notebook: jeśli korzystasz już z notesów Jupyter Notebook, zestaw SDK zawiera pewne dodatki, które należy zainstalować.
Visual Studio Code: Jeśli używasz Visual Studio Code, rozszerzenie Usługi Azure Machine Learning obejmuje obsługę języka Python i funkcje, aby pracować z usługą Azure Machine Learning znacznie wygodniej i wydajniej.
Wymagania wstępne
- Obszar roboczy usługi Azure Machine Learning. Jeśli go nie masz, możesz utworzyć obszar roboczy usługi Azure Machine Learning za pomocą szablonów Azure Portal, interfejsu wiersza polecenia platformy Azure i usługi Azure Resource Manager.
Tylko maszyny wirtualne lokalne i DSVM: tworzenie pliku konfiguracji obszaru roboczego
Plik konfiguracji obszaru roboczego to plik JSON, który informuje zestaw SDK, jak komunikować się z obszarem roboczym usługi Azure Machine Learning. Plik ma nazwę config.json i ma następujący format:
{
"subscription_id": "<subscription-id>",
"resource_group": "<resource-group>",
"workspace_name": "<workspace-name>"
}
Ten plik JSON musi znajdować się w strukturze katalogów zawierającej skrypty języka Python lub notesy Jupyter Notebook. Może znajdować się w tym samym katalogu, podkatalogu o nazwie.azureml*lub w katalogu nadrzędnym.
Aby użyć tego pliku z kodu, użyj MLClient.from_config
metody . Ten kod ładuje informacje z pliku i łączy się z obszarem roboczym.
Utwórz plik konfiguracji obszaru roboczego w jednej z następujących metod:
Studio uczenia maszynowego Azure
Pobierz plik:
- Zaloguj się do Azure Machine Learning studio
- Na prawym górnym pasku narzędzi Azure Machine Learning studio wybierz nazwę obszaru roboczego.
- Wybierz link Pobierz plik konfiguracji .
Azure Machine Learning Python SDK
Utwórz skrypt umożliwiający nawiązanie połączenia z obszarem roboczym usługi Azure Machine Learning. Pamiętaj, aby zastąpić
subscription_id
ciąg ,resource_group
iworkspace_name
własnym.DOTYCZY:
Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżący)
#import required libraries from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential #Enter details of your Azure Machine Learning workspace subscription_id = '<SUBSCRIPTION_ID>' resource_group = '<RESOURCE_GROUP>' workspace = '<AZUREML_WORKSPACE_NAME>' #connect to the workspace ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
Komputer lokalny lub środowisko zdalnej maszyny wirtualnej
Środowisko można skonfigurować na komputerze lokalnym lub zdalnej maszynie wirtualnej, takiej jak wystąpienie obliczeniowe usługi Azure Machine Learning lub maszyna wirtualna do nauki o danych.
Aby skonfigurować lokalne środowisko programistyczne lub zdalną maszynę wirtualną:
Tworzenie środowiska wirtualnego języka Python (virtualenv, conda).
Uwaga
Mimo że nie jest to wymagane, zaleca się używanie rozwiązania Anaconda lub Miniconda do zarządzania środowiskami wirtualnymi języka Python i instalowania pakietów.
Ważne
Jeśli korzystasz z systemu Linux lub macOS i używasz powłoki innej niż powłoka bash (na przykład zsh), podczas uruchamiania niektórych poleceń mogą wystąpić błędy. Aby obejść ten problem, użyj
bash
polecenia , aby uruchomić nową powłokę powłoki bash i uruchomić tam polecenia.Aktywuj nowo utworzone środowisko wirtualne języka Python.
Zainstaluj zestaw SDK języka Python usługi Azure Machine Learning.
Aby skonfigurować środowisko lokalne do korzystania z obszaru roboczego usługi Azure Machine Learning, utwórz plik konfiguracji obszaru roboczego lub użyj istniejącego.
Po skonfigurowaniu środowiska lokalnego możesz rozpocząć pracę z usługą Azure Machine Learning. Zobacz Samouczek: Usługa Azure Machine Learning w ciągu dnia , aby rozpocząć pracę.
Notesy programu Jupyter
Podczas uruchamiania lokalnego serwera Jupyter Notebook zaleca się utworzenie jądra IPython dla środowiska wirtualnego języka Python. Pomaga to zapewnić oczekiwane zachowanie jądra i importowania pakietów.
Włączanie jądra IPython specyficznych dla środowiska
conda install notebook ipykernel
Utwórz jądro dla środowiska wirtualnego języka Python. Pamiętaj, aby zastąpić
<myenv>
ciąg nazwą środowiska wirtualnego języka Python.ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
Uruchamianie serwera Jupyter Notebook
Porada
Na przykład notesy można znaleźć w repozytorium AzureML-Examples . Przykłady zestawu SDK znajdują się w obszarze /sdk/python. Na przykład przykład notesu konfiguracji .
Visual Studio Code
Aby użyć Visual Studio Code do programowania:
- Zainstaluj Visual Studio Code.
- Zainstaluj rozszerzenie usługi Azure Machine Learning Visual Studio Code (wersja zapoznawcza).
Po zainstalowaniu rozszerzenia Visual Studio Code użyj go do:
- Zarządzanie zasobami usługi Azure Machine Learning
- Nawiązywanie połączenia z wystąpieniem obliczeniowym usługi Azure Machine Learning
- Uruchamianie i debugowanie eksperymentów
- Wdrażanie wytrenowanych modeli.
Wystąpienie obliczeniowe usługi Azure Machine Learning
Wystąpienie obliczeniowe usługi Azure Machine Learning to bezpieczna, oparta na chmurze stacja robocza platformy Azure, która udostępnia analitykom danych serwer Jupyter Notebook, JupyterLab i w pełni zarządzane środowisko uczenia maszynowego.
Nie ma nic do zainstalowania ani skonfigurowania dla wystąpienia obliczeniowego.
Utwórz jeden w dowolnym momencie z poziomu obszaru roboczego usługi Azure Machine Learning. Podaj tylko nazwę i określ typ maszyny wirtualnej platformy Azure. Wypróbuj teraz ten samouczek: konfigurowanie środowiska i obszaru roboczego.
Aby dowiedzieć się więcej o wystąpieniach obliczeniowych, w tym o sposobie instalowania pakietów, zobacz Tworzenie wystąpienia obliczeniowego usługi Azure Machine Learning i zarządzanie nim.
Porada
Aby zapobiec naliczaniu opłat za nieużywane wystąpienie obliczeniowe, włącz zamykanie bezczynności.
Oprócz serwera Jupyter Notebook i narzędzia JupyterLab można używać wystąpień obliczeniowych w funkcji zintegrowanego notesu wewnątrz Azure Machine Learning studio.
Możesz również użyć rozszerzenia usługi Azure Machine Learning Visual Studio Code, aby nawiązać połączenie z zdalnym wystąpieniem obliczeniowym przy użyciu programu VS Code.
Maszyna wirtualna do analizy danych
Maszyna wirtualna do nauki o danych to dostosowany obraz maszyny wirtualnej, którego można użyć jako środowiska programistycznego. Jest ona przeznaczona do pracy nad nauką o danych, która jest wstępnie skonfigurowanymi narzędziami i oprogramowaniem, takimi jak:
- Pakiety takie jak TensorFlow, PyTorch, Scikit-learn, XGBoost i Azure Machine Learning SDK
- Popularne narzędzia do nauki o danych, takie jak Autonomiczna platforma Spark i przechodzenie do szczegółów
- Narzędzia platformy Azure, takie jak interfejs wiersza polecenia platformy Azure, narzędzie AzCopy i Eksplorator usługi Storage
- Zintegrowane środowiska programistyczne (IDE), takie jak Visual Studio Code i PyCharm
- serwer Jupyter Notebook
Aby uzyskać bardziej kompleksową listę narzędzi, zobacz Przewodnik dotyczący narzędzi do nauki o danych maszyn wirtualnych.
Ważne
Jeśli planujesz używać maszyny wirtualnej Data Science VM jako celu obliczeniowego dla zadań szkoleniowych lub wnioskowania, obsługiwana jest tylko wersja Ubuntu.
Aby użyć maszyny wirtualnej do nauki o danych jako środowiska programistycznego:
Utwórz maszynę wirtualną do nauki o danych przy użyciu jednej z następujących metod:
Użyj Azure Portal, aby utworzyć maszynę DSVM z systemem Ubuntu lub Windows.
Tworzenie maszyny wirtualnej do nauki o danych przy użyciu szablonów usługi ARM.
Używanie interfejsu wiersza polecenia platformy Azure
Aby utworzyć maszynę wirtualną Data Science VM z systemem Ubuntu, użyj następującego polecenia:
# create a Ubuntu Data Science VM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)" az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
Aby utworzyć maszynę DSVM systemu Windows, użyj następującego polecenia:
# create a Windows Server 2016 DSVM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
Utwórz środowisko conda dla zestawu Azure Machine Learning SDK:
conda create -n py310 python=310
Po utworzeniu środowiska aktywuj go i zainstaluj zestaw SDK
conda activate py310 pip install azure-ai-ml azure-identity
Aby skonfigurować maszynę wirtualną Data Science VM do korzystania z obszaru roboczego usługi Azure Machine Learning, utwórz plik konfiguracji obszaru roboczego lub użyj istniejącego.
Porada
Podobnie jak w środowiskach lokalnych, można użyć Visual Studio Code i rozszerzenia usługi Azure Machine Learning Visual Studio Code do interakcji z usługą Azure Machine Learning.
Aby uzyskać więcej informacji, zobacz Data Science Virtual Machines.
Następne kroki
- Trenowanie i wdrażanie modelu w usłudze Azure Machine Learning przy użyciu zestawu danych MNIST.
- Zobacz dokumentację dotyczącą zestawu Azure Machine Learning SDK dla języka Python.