Konfigurowanie środowiska projektowego języka Python dla usługi Azure Machine Learning (wersja 1)
DOTYCZY: Zestaw SDK języka Python w wersji 1
Dowiedz się, jak skonfigurować środowisko deweloperskie języka Python dla usługi Azure Machine Learning.
W poniższej tabeli przedstawiono każde środowisko programistyczne opisane w tym artykule wraz z zaletami i wadami.
Środowisko | Plusy | Minusy |
---|---|---|
Środowisko lokalne | Pełna kontrola nad środowiskiem projektistycznym i zależnościami. Uruchom polecenie przy użyciu dowolnego wybranego narzędzia kompilacji, środowiska lub środowiska IDE. | Rozpoczynanie 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. |
Maszyna wirtualna Nauka o danych (DSVM) | Podobnie jak w przypadku wystąpienia obliczeniowego opartego na chmurze (środowisko Python i zestaw SDK są wstępnie zainstalowane), ale z innymi 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 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 notesu 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 (maszynę wirtualną można zatrzymać, gdy nie jest używana w celu uniknięcia opłat). Zobacz szczegółowe informacje o cenach. |
Azure Databricks | Idealne rozwiązanie do uruchamiania intensywnie korzystających z dużych przepływów pracy uczenia maszynowego na skalowalnej platformie Apache Spark. | Overkill na potrzeby eksperymentalnego uczenia maszynowego lub eksperymentów i przepływów pracy o mniejszej skali. Dodatkowe koszty związane z usługą Azure Databricks. Zobacz szczegółowe informacje o cenach. |
Ten artykuł zawiera również porady dotyczące użycia dla następujących narzędzi:
Notesy Jupyter Notebook: jeśli już używasz notesów Jupyter Notebook, zestaw SDK zawiera pewne dodatki, które należy zainstalować.
Visual Studio Code: Jeśli używasz programu Visual Studio Code, rozszerzenie Azure Machine Learning obejmuje rozbudowaną obsługę języka Python i funkcji, 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ą witryny Azure Portal, interfejsu wiersza polecenia platformy Azure i szablonów usługi Azure Resource Manager.
Tylko maszyny 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 on 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 nawiązuje połączenie z obszarem roboczym.
Utwórz plik konfiguracji obszaru roboczego w jednej z następujących metod:
Azure Portal
Pobierz plik: w witrynie Azure Portal wybierz pozycję Pobierz config.json w sekcji Przegląd obszaru roboczego.
Zestaw SDK języka Python usługi Azure Machine Learning
Utwórz skrypt, aby połączyć się z obszarem roboczym usługi Azure Machine Learning i użyć
write_config
metody w celu wygenerowania pliku i zapisania go jako pliku .azureml/config.json. Pamiętaj, aby zastąpićsubscription_id
element ,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 zdalne środowisko 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 środowiska 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ę 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. Zapoznaj się z przewodnikiem wprowadzenie do języka Python w usłudze Azure Machine Learning, aby rozpocząć pracę.
Notesy programu Jupyter
Podczas uruchamiania lokalnego serwera notesu Jupyter Notebook zaleca się utworzenie jądra IPython dla środowiska wirtualnego języka Python. Pomaga to zapewnić oczekiwane zachowanie jądra i importu 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ć programu Visual Studio Code do programowania:
Zainstalowanie programu Visual Studio Code.
Zainstaluj rozszerzenie programu Visual Studio Code usługi Azure Machine Learning (wersja zapoznawcza).
Ważne
Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej 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 programu Visual Studio Code użyj go do:
- Zarządzanie zasobami usługi Azure Machine Learning
- Zdalne uruchamianie programu Visual Studio Code połączonego z wystąpieniem obliczeniowym (wersja zapoznawcza)
- Uruchamianie i debugowanie eksperymentów
- Wdrażanie wytrenowanych modeli (interfejs wiersza polecenia w wersji 2).
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 tworzenie zasobów, 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.
Napiwek
Aby zapobiec naliczaniu opłat za nieużywane wystąpienie obliczeniowe, zatrzymaj wystąpienie obliczeniowe. Możesz też włączyć bezczynne zamykanie wystąpienia obliczeniowego.
Oprócz serwera Jupyter Notebook i programu JupyterLab można używać wystąpień obliczeniowych w zintegrowanej funkcji notesu w usłudze Azure Machine Learning Studio.
Możesz również użyć rozszerzenia programu Visual Studio Code usługi Azure Machine Learning, aby nawiązać połączenie ze zdalnym wystąpieniem obliczeniowym przy użyciu programu VS Code.
Data Science Virtual Machine
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 Zestaw SDK usługi Azure Machine Learning
- 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 Notesów Jupyter
Aby uzyskać bardziej kompleksową listę narzędzi, zobacz przewodnik dotyczący narzędzi Nauka o danych maszyn wirtualnych.
Ważne
Jeśli planujesz używać maszyny wirtualnej Nauka o danych jako celu obliczeniowego dla zadań trenowania 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 witryny Azure Portal, aby utworzyć maszynę DSVM z systemem Ubuntu lub Windows .
Utwórz maszynę wirtualną Nauka o danych przy użyciu szablonów usługi ARM.
Korzystanie z 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 z systemem 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 Nauka o danych z systemem Windows:
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ć programu Visual Studio Code i rozszerzenia programu Visual Studio Code usługi Azure Machine Learning 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.