Konfigurowanie środowiska deweloperskiego języka Python dla usługi Azure Machine Learning (wersja 1)
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 i zestaw SDK są wstępnie zainstalowane), ale z dodatkowymi popularnymi narzędziami do nauki o danych i uczenia maszynowego. Ł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. Cały 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 Azure Machine Learning obejmuje rozbudowaną obsługę języka Python, a także 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 Workspace.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:
Azure Portal
Pobierz plik: w Azure Portal wybierz pozycję Pobierz plik config.json w sekcji Przegląd obszaru roboczego.
Azure Machine Learning Python SDK
Utwórz skrypt w celu nawiązania połączenia z obszarem roboczym usługi Azure Machine Learning i użyj
write_config
metody w celu wygenerowania pliku i zapisania go jako pliku .azureml/config.json. Pamiętaj, aby zastąpićsubscription_id
ciąg ,resource_group
iworkspace_name
własnym.DOTYCZY:
Zestaw SDK języka Python w wersji 1
from azureml.core import Workspace subscription_id = '<subscription-id>' resource_group = '<resource-group>' workspace_name = '<workspace-name>' try: ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name) ws.write_config() print('Library configuration succeeded') except: print('Workspace not found')
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 Nauka 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 przewodnik Wprowadzenie do usługi Azure Machine Learning w języku Python , 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
Zobacz repozytorium notesów usługi Azure Machine Learning , aby rozpocząć pracę z usługami Azure Machine Learning i Jupyter Notebooks. Zobacz również repozytorium oparte na społeczności, AzureML-Examples.
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).
Ważne
Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest dostarczana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Po zainstalowaniu rozszerzenia Visual Studio Code użyj go do:
- Zarządzanie zasobami usługi Azure Machine Learning
- Uruchamianie Visual Studio Code zdalnie połączonego z wystąpieniem obliczeniowym (wersja zapoznawcza)
- 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 pozycję Utwórz zasoby, aby rozpocząć pracę.
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, zatrzymaj wystąpienie obliczeniowe. Możesz też włączyć bezczynne zamknięcie dla wystąpienia obliczeniowego.
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 Nauka 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 Nauka o danych narzędzi maszyn wirtualnych.
Ważne
Jeśli planujesz używać maszyny wirtualnej Nauka o danych jako celu obliczeniowego dla zadań szkoleniowych lub wnioskowania, obsługiwana jest tylko wersja Ubuntu.
Aby użyć maszyny wirtualnej Nauka o danych jako środowiska programistycznego:
Utwórz maszynę wirtualną Nauka 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 Nauka o danych przy użyciu szablonów usługi ARM.
Używanie interfejsu wiersza polecenia platformy Azure
Aby utworzyć maszynę wirtualną z systemem Ubuntu Nauka o danych, 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
Aktywuj środowisko conda zawierające zestaw SDK usługi Azure Machine Learning.
W przypadku maszyny wirtualnej z systemem Ubuntu Nauka o danych:
conda activate py36
W przypadku maszyny wirtualnej z systemem Windows Nauka o danych:
conda activate AzureML
Aby skonfigurować maszynę wirtualną Nauka o danych do korzystania z obszaru roboczego usługi Azure Machine Learning, utwórz plik konfiguracji obszaru roboczego lub użyj istniejącego.
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 Nauka o danych 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.