Lab 1B: Praca z narzędziami Azure Machine Learning
W tym ćwiczeniu poznasz narzędzia, którymi pracuje się z obszarem roboczym Azure Machine Learning.
Będziesz korzystać z Azure Machine Learning studio, JupyterLab na instancji obliczeniowej, GitHub oraz Azure Machine Learning SDK v2 dla Pythona.
Zanim zaczniesz
Potrzebujesz obszaru roboczego Azure Machine Learning utworzonego zgodnie z instrukcjami z poprzedniego ćwiczenia.
Potrzebujesz również:
- Subskrypcji Azure z uprawnieniami dostępu do obszaru roboczego Azure Machine Learning.
- Uruchomionej instancji obliczeniowej Azure Machine Learning.
- Dostępu do repozytorium kursu.
Krok 1: Użyj Azure ML SDK v2 w instancji obliczeniowej
Wieloma zasobami Azure Machine Learning można zarządzać w interfejsie studio. Azure Machine Learning SDK v2 pozwala jednak zrobić to samo z poziomu kodu Pythona i zautomatyzować powtarzalne czynności.
Otwórz Azure Machine Learning studio.
Wybierz swój obszar roboczy Azure Machine Learning.
W menu po lewej stronie wybierz Compute.
Otwórz kartę Compute instances.
Uruchom instancję obliczeniową utworzoną w poprzednim ćwiczeniu, jeśli jeszcze nie działa.
Poczekaj, aż status instancji obliczeniowej zmieni się na Running.
Kliknij link JupyterLab przy tej instancji obliczeniowej.
W JupyterLab utwórz nowy notatnik.
W prawym górnym rogu notatnika wybierz aktualny kernel Azure Machine Learning SDK v2. Nazwa kernela może być podobna do:
Python 3.10 - SDK v2Uruchom poniższą komórkę z kodem, aby sprawdzić, czy Azure ML SDK v2 jest dostępny:
import sys from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential print(f"Interpreter Pythona: {sys.executable}") print("Azure Machine Learning SDK v2 jest gotowy.")Jeśli importy zakończą się błędem
ModuleNotFoundError, otwórz nowy terminal w JupyterLab i zainstaluj wymagane pakiety:python -m pip install --upgrade azure-ai-ml azure-identityPo zainstalowaniu pakietów zrestartuj kernel notatnika i uruchom ponownie komórkę weryfikującą.
Więcej informacji: Aktualną dokumentację Azure Machine Learning SDK v2 znajdziesz w dokumentacji Azure ML SDK dla Pythona.
Krok 2: Sklonuj repozytorium kursu
Będziesz korzystać z notatników i plików pomocniczych z repozytorium kursu.
W JupyterLab wybierz File > New > Terminal.
Przejdź do swojego katalogu użytkownika Azure Machine Learning, zastępując
<your-user-name>nazwą folderu widoczną w sekcji Users w przeglądarce plików JupyterLab (bierze się ona z Twojej tożsamości Azure AD, a nie z nazwy użytkownika w systemie Linux):cd ~/cloudfiles/code/Users/<your-user-name>Sklonuj repozytorium kursu:
git clone https://github.com/razitpl/MachineLearningCourse.gitJeśli repozytorium zostało już wcześniej sklonowane, zamiast tego je zaktualizuj:
cd ~/cloudfiles/code/Users/<your-user-name>/MachineLearningCourse/materialy/azure-ml/pl git pullZamknij kartę terminala.
W przeglądarce plików JupyterLab w razie potrzeby odśwież stronę.
Otwórz następujący folder:
MachineLearningCourse/materialy/azure-ml/plZnajdź i otwórz notatnik 01B - Intro to the Azure ML SDK.ipynb do tego ćwiczenia.
Upewnij się, że notatnik korzysta z kernela Python 3.10 - SDK v2 lub innego aktualnego kernela Azure ML SDK v2.
Uruchamiaj komórki notatnika pojedynczo i czytaj wyjaśnienia.
Krok 3: Połącz się z obszarem roboczym Azure ML
Azure Machine Learning SDK v2 używa obiektu MLClient do łączenia się z obszarem roboczym Azure Machine Learning i zarządzania nim.
Możesz się połączyć, podając w kodzie identyfikator subskrypcji, nazwę grupy zasobów i nazwę obszaru roboczego. Możesz też pobrać z portalu Azure plik config.json i użyć go do utworzenia klienta.
Pobierz konfigurację obszaru roboczego
Otwórz portal Azure w nowej karcie przeglądarki.
Znajdź i otwórz obszar roboczy Azure Machine Learning utworzony w poprzednim ćwiczeniu.
Na stronie Overview obszaru roboczego wybierz Download config.json.
Zapisz pobrany plik.
W JupyterLab wgraj plik
config.jsondo folderu głównego repozytoriumMachineLearningCourse/materialy/azure-ml/pl.Zadbaj o to, żeby plik
config.jsonnie trafił do publicznego repozytorium GitHub - zawiera dane Twojego obszaru roboczego.Jeśli repozytorium nie zawiera jeszcze pliku
.gitignore, utwórz go.Dodaj do
.gitignorenastępujący wpis:config.json
Połącz się za pomocą Azure ML SDK v2
Otwórz notatnik korzystający z kernela Python 3.10 - SDK v2.
Uruchom następującą komórkę:
from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential credential = DefaultAzureCredential() ml_client = MLClient.from_config( credential=credential ) print(f"Połączono z obszarem roboczym: {ml_client.workspace_name}")Jeśli uwierzytelnianie się nie powiedzie, otwórz terminal JupyterLab i zaloguj się do Azure:
az loginDokończ logowanie w przeglądarce.
Wróć do notatnika i ponownie uruchom komórkę nawiązującą połączenie.
Gdy połączenie się powiedzie, sprawdź, czy wyświetlana jest poprawna nazwa obszaru roboczego Azure Machine Learning.
Uwaga:
DefaultAzureCredentialmoże korzystać z wielu metod uwierzytelniania. Przy pracy interaktywnej najprostsze jest zwykle logowanie przez Azure CLI.
Krok 4: Poznaj zasoby Azure ML za pomocą SDK v2
Po połączeniu się z obszarem roboczym możesz użyć MLClient do wyświetlania listy zasobów Azure Machine Learning i zarządzania nimi.
Uruchom poniższy kod, aby wyświetlić listę dostępnych zasobów obliczeniowych:
for compute in ml_client.compute.list(): print(f"{compute.name}: {compute.type}")Uruchom poniższy kod, aby wyświetlić listę zarejestrowanych zasobów danych:
for data_asset in ml_client.data.list(): print( f"Nazwa: {data_asset.name}, " f"Wersja: {data_asset.version}, " f"Typ: {data_asset.type}" )Uruchom poniższy kod, aby wyświetlić listę zarejestrowanych modeli:
for model in ml_client.models.list(): print( f"Nazwa: {model.name}, " f"Wersja: {model.version}, " f"Typ: {model.type}" )Uruchom poniższy kod, aby wyświetlić listę ostatnich zadań (jobs) Azure Machine Learning:
for job in ml_client.jobs.list(): print( f"Nazwa: {job.name}, " f"Status: {job.status}, " f"Nazwa wyświetlana: {job.display_name}" )Porównaj zasoby zwrócone przez SDK z zasobami wyświetlanymi w Azure Machine Learning studio.
Uwaga: SDK v2 umożliwia programowe zarządzanie zasobami danych, środowiskami, zasobami obliczeniowymi, zadaniami, modelami i punktami końcowymi (endpoints). Skorzystasz z tych możliwości w kolejnych ćwiczeniach.
Krok 5: Opcjonalna praca w GitHub Codespaces
Z repozytorium można też pracować poza Azure Machine Learning studio - w GitHub Codespaces.
GitHub Codespaces udostępnia środowisko programistyczne Visual Studio Code działające w przeglądarce.
Otwórz repozytorium MachineLearningCourse/materialy/azure-ml/pl.
Wybierz Code.
Wybierz kartę Codespaces.
Wybierz Create codespace on main.
Poczekaj na uruchomienie Codespace.
Otwórz zintegrowany terminal w Visual Studio Code.
Utwórz wirtualne środowisko Pythona:
python -m venv .venvAktywuj wirtualne środowisko:
source .venv/bin/activateZaktualizuj
pipi zainstaluj Azure ML SDK v2:python -m pip install --upgrade pip python -m pip install azure-ai-ml azure-identity ipykernelZaloguj się do Azure:
az loginW Visual Studio Code wybierz interpreter Pythona z wirtualnego środowiska
.venv.Otwórz notatnik ćwiczenia i w razie potrzeby wybierz kernel Pythona
.venv.
Uwaga: GitHub Codespaces jest opcjonalny. Wszystkie ćwiczenia da się wykonać w JupyterLab na instancji obliczeniowej Azure Machine Learning.
Sprzątanie
Po zakończeniu pracy zatrzymaj instancję obliczeniową, jeśli nie planujesz jej używać w najbliższym czasie.
Wróć do Azure Machine Learning studio.
Wybierz Compute.
Otwórz kartę Compute instances.
Wybierz swoją instancję obliczeniową.
Wybierz Stop.
Uwaga: Zatrzymanie instancji obliczeniowej zapobiega dalszemu naliczaniu opłat za zasoby obliczeniowe. Możesz ją uruchomić ponownie, gdy wrócisz do kolejnych ćwiczeń.