arrow_back

Klasyfikowanie obrazów przedstawiających chmury przy użyciu AutoML Images

Klasyfikowanie obrazów przedstawiających chmury przy użyciu AutoML Images

1 godz. Punkty: 5

GSP223

Moduły Google Cloud do samodzielnego ukończenia

Opis

AutoML pomaga programistom, którzy nie mają dużego doświadczenia z systemami uczącymi się, w trenowaniu wysokiej jakości modeli rozpoznawania obrazów. Gdy prześlesz obrazy przez interfejs użytkownika AutoML, możesz wytrenować model do generowania prognoz, który od razu będzie dostępny w Google Cloud. Zrobisz to za pomocą łatwego w użyciu interfejsu API typu REST.

W tym module prześlesz obrazy do Cloud Storage i użyjesz ich do wytrenowania modelu niestandardowego do rozpoznawania różnych rodzajów chmur (cumulusa, cumulonimbusa itp.).

Czego się nauczysz

Ten moduł obejmuje:

  • Przesyłanie zbioru danych oznaczonego etykietami do Cloud Storage i łączenie go z AutoML przy użyciu pliku CSV z etykietami

  • Trenowanie modelu przy użyciu AutoML i ocenianie jego dokładności

  • Generowanie prognoz za pomocą wytrenowanego modelu

Konfiguracja i wymagania

Zanim klikniesz przycisk Start Lab (Rozpocznij moduł)

Zapoznaj się z tymi instrukcjami. Moduły mają limit czasowy i nie można ich zatrzymać. Po kliknięciu Start Lab (Rozpocznij moduł) na liczniku wyświetli się informacja o tym, na jak długo udostępniamy Ci zasoby Google Cloud.

W tym praktycznym module Qwiklabs możesz spróbować swoich sił w wykonywaniu opisywanych działań w prawdziwym środowisku chmury, a nie w jego symulacji lub wersji demonstracyjnej. Otrzymasz nowe, tymczasowe dane logowania, dzięki którym zalogujesz się i uzyskasz dostęp do Google Cloud na czas trwania modułu.

Wymagania

Do ukończenia modułu potrzebne będą:

  • dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome),
  • czas wymagany do ukończenia modułu.

Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module.

Uwaga: jeśli używasz Pixelbooka, uruchom ten moduł w oknie incognito.

Rozpoczynanie modułu i logowanie się w konsoli Google Cloud

  1. Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, w którym możesz wybrać formę płatności. Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:

    • przyciskiem Otwórz konsolę Google;
    • czasem, który Ci pozostał;
    • tymczasowymi danymi logowania, których musisz użyć w tym module;
    • innymi informacjami potrzebnymi do ukończenia modułu.
  2. Kliknij Otwórz konsolę Google. Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.

    Wskazówka: otwórz karty obok siebie w osobnych oknach.

    Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta.
  3. W razie potrzeby skopiuj nazwę użytkownika z panelu Szczegóły modułu i wklej ją w oknie logowania. Kliknij Dalej.

  4. Skopiuj hasło z panelu Szczegóły modułu i wklej je w oknie powitania. Kliknij Dalej.

    Ważne: musisz użyć danych logowania z panelu po lewej stronie, a nie danych logowania Google Cloud Skills Boost. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  5. Na kolejnych stronach wykonaj następujące czynności:

    • Zaakceptuj Warunki korzystania z usługi.
    • Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
    • Nie rejestruj się w bezpłatnych wersjach próbnych.

Poczekaj, aż na karcie otworzy się konsola Google Cloud.

Uwaga: aby wyświetlić menu z listą produktów i usług Google Cloud Console, w lewym górnym rogu kliknij menu nawigacyjne. Ikona menu nawigacyjnego

Aktywowanie Cloud Shell

Cloud Shell to maszyna wirtualna oferująca wiele narzędzi dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud. Dzięki wierszowi poleceń Cloud Shell zyskujesz dostęp do swoich zasobów Google Cloud.

U góry Cloud Console, w pasku narzędzi po prawej stronie, kliknij przycisk Aktywuj Cloud Shell.

Ikona Cloud Shell

Kliknij Dalej.

cloudshell_continue.png

Uzyskanie dostępu do środowiska i połączenie się z nim może zająć kilka chwil. Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Przykład:

Terminal Cloud Shell

gcloud to narzędzie wiersza poleceń Google Cloud. Jest ono już zainstalowane w Cloud Shell i obsługuje funkcję autouzupełniania po naciśnięciu tabulatora.

Aby wyświetlić listę aktywnych kont, użyj tego polecenia:

gcloud auth list

(Dane wyjściowe)

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)

(Przykładowe dane wyjściowe)

Credentialed accounts:
 - google1623327_student@qwiklabs.net

Aby wyświetlić identyfikator projektu, użyj tego polecenia:

gcloud config list project

(Dane wyjściowe)

[core]
project = <project_ID>

(Przykładowe dane wyjściowe)

[core]
project = qwiklabs-gcp-44776a13dea667a6

Zadanie 1. Konfigurowanie AutoML

AutoML zapewnia interfejs do wszystkich etapów trenowania modelu klasyfikacji obrazów i generowania prognoz za jego pomocą. Zacznij od włączenia interfejsu Cloud AutoML API.

  1. Otwórz menu nawigacyjne i wybierz Interfejsy API i usługi > Biblioteka.

  2. W pasku wyszukiwania wpisz „Cloud AutoML”.

  3. Sprawdź, czy Cloud AutoML API ma stan włączony.

  4. W nowym oknie przeglądarki otwórz interfejs użytkownika AutoML.

Tworzenie zasobnika na dane

  1. Teraz utwórz zasobnik na dane, uruchamiając to polecenie:

gsutil mb -p $GOOGLE_CLOUD_PROJECT \ -c standard \ -l us-central1 \ gs://$GOOGLE_CLOUD_PROJECT-vcm/
  1. W konsoli Google Cloud otwórz menu nawigacyjne i kliknij Cloud Storage, aby wyświetlić tę usługę.

Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.

Utworzenie zasobnika w Cloud Storage

Zadanie 2. Przesyłanie obrazów do trenowania do Cloud Storage

Aby wytrenować model do klasyfikowania obrazów przedstawiających chmury, musisz dostarczyć oznaczone etykietami dane treningowe, tak aby model mógł zrozumieć cechy obrazów powiązane z różnymi rodzajami chmur. W tym przykładzie model nauczy się klasyfikować 3 różne rodzaje chmur: cirrusy, cumulusy i cumulonimbusy. Aby móc użyć AutoML, musisz umieścić obrazy do trenowania w Cloud Storage.

  1. Zanim dodasz obrazy przedstawiające chmury, utwórz zmienną środowiskową o nazwie Twojego zasobnika.

Uruchom to polecenie w Cloud Shell:

export BUCKET=$GOOGLE_CLOUD_PROJECT-vcm

Obrazy do trenowania są dostępne publicznie w zasobniku Cloud Storage.

  1. W Cloud Storage użyj narzędzia wiersza polecenia gsutil, by skopiować obrazy do trenowania do zasobnika:

gsutil -m cp -r gs://spls/gsp223/images/* gs://${BUCKET}
  1. Gdy zakończysz kopiowanie obrazów, u góry okna widoku Storage kliknij przycisk Odśwież, a następnie nazwę zasobnika. Powinny wyświetlać się 3 foldery zdjęć dla każdego z 3 rodzajów chmur do sklasyfikowania.

Jeśli klikniesz poszczególne pliki obrazów w każdym z folderów, wyświetlą się zdjęcia, których użyjesz do wytrenowania modelu dla każdego rodzaju chmury.

Zadanie 3. Tworzenie zbioru danych

Dane do trenowania znajdują się już w Cloud Storage, musisz więc znaleźć sposób na udostępnienie ich AutoML. Utworzysz plik CSV, w którym każdy wiersz będzie zawierał adres URL obrazu do trenowania oraz etykietę powiązaną z tym obrazem. Plik CSV został już dla Ciebie utworzony – musisz go tylko zaktualizować, używając nazwy swojego zasobnika.

  1. Uruchom to polecenie, aby skopiować plik do instancji Cloud Shell:

gsutil cp gs://spls/gsp223/data.csv .
  1. Następnie zaktualizuj plik CSV przy użyciu plików z Twojego projektu:

sed -i -e "s/placeholder/${BUCKET}/g" ./data.csv
  1. Teraz prześlij ten plik do zasobnika Cloud Storage:

gsutil cp ./data.csv gs://${BUCKET}
  1. Po zakończeniu wykonywania polecenia u góry okna przeglądarki kliknij przycisk Odśwież. Potwierdź, że plik data.csv wyświetla się w Twoim zasobniku.

  2. Otwórz kartę Zbiór danych Vertex AI. Wyświetlona strona powinna wyglądać mniej więcej tak:

Konsola Google Cloud, strona Zbiory danych

  1. U góry konsoli kliknij + UTWÓRZ.

  2. Jako nazwę zbioru danych wpisz „clouds” („chmury”).

  3. Wybierz Klasyfikacja z jedną etykietą.

Uwaga: we własnych projektach możesz używać też klasyfikacji wieloklasowej.
  1. Kliknij UTWÓRZ.

  2. Wybierz opcję Wybierz pliki importu z Cloud Storage i dodaj nazwę pliku do adresu URL dla pliku, który właśnie został przesłany – nazwa-twojego-zasobnika/data.csv.

Aby w prosty sposób otrzymać ten link, wróć do konsoli Google Cloud, kliknij plik data.csv i przejdź do pola identyfikatora URI.

  1. Kliknij DALEJ.

Importowanie obrazów zajmie od 2 do 5 minut. Po zakończeniu importowania nastąpi przekierowanie na stronę ze wszystkimi obrazami w zbiorze danych.

Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.

Utworzenie zbioru danych

Zadanie 4. Sprawdzenie obrazów

Po zakończeniu importu przekierujemy Cię do karty Przeglądaj, na której zobaczysz przesłane obrazy.

Kafelki obrazów na karcie Obrazy

Żeby przeglądać obrazy do trenowania, w menu po lewej stronie spróbuj filtrować je według różnych etykiet (np. kliknij „cumulus”):

Uwaga: jeśli tworzysz model produkcyjny, najlepiej dodaj co najmniej 100 obrazów na etykietę. Zapewni to wysoką dokładność. To wersja demonstracyjna, więc aby model był w stanie szybko się uczyć, wykorzystujemy tylko 20 obrazów.

Jeśli któreś obrazy zostały oznaczone nieprawidłową etykietą, możesz kliknąć dany obraz, by ją zmienić:

Obraz 12 z 50

Uwaga: jeśli używasz zbioru danych, który nie został jeszcze oznaczony etykietami, możesz skorzystać z oferowanej przez AutoML usługi oznaczania etykietami przez człowieka.

Zadanie 5. Trenowanie modelu

Możesz już zacząć trenowanie modelu. AutoML zajmie się tym automatycznie, nie musisz pisać kodu.

  1. Aby wytrenować model rozpoznawania chmur, kliknij WYTRENUJ NOWY MODEL.

  2. Kliknij kartę Metoda trenowania, a następnie przycisk Dalej.

  3. Na karcie Szczegóły modelu kliknij przycisk Dalej.

  4. Na karcie Wyjaśnialność kliknij przycisk Dalej.

  5. Na karcie Obliczenia i ceny ustaw liczbę godzin pracy węzłów na 8.

  6. Kliknij Rozpocznij trenowanie.

To niewielki zbiór danych, więc trenowanie zajmie około 25–30 minut. W międzyczasie przejdź do następnej sekcji, aby skorzystać z już wytrenowanego modelu.

Zadanie 6. Generowanie prognoz

Istnieje kilka sposobów generowania prognoz. W tym module do przesyłania obrazów użyjemy interfejsu użytkownika. Zobaczysz, jak Twój model sklasyfikuje te 2 obrazy (pierwszy to chmura cirrus, a drugi – cumulonimbus).

  1. Wróć do terminala Cloud Shell.

  2. Pobierz te obrazy na komputer lokalny.

gsutil cp gs://spls/gsp223/examples/* .
  1. Wyświetl przykładowe pliki CLOUD1-JSONCLOUD2-JSON, aby zobaczyć ich zawartość.

{ "instances": [{ "content": "DANE_TWOICH_OBRAZÓW" }], "parameters": { "confidenceThreshold": 0.5, "maxPredictions": 5 } }
  1. Skopiuj wartość punktu końcowego z panelu Qwiklabs do zmiennej środowiskowej.

ENDPOINT=$(gcloud run services describe automl-service --platform managed --region us-central1 --format 'value(status.url)')
  1. Wpisz to polecenie, aby przesłać żądanie wygenerowania prognozy:

curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq Wywołanie powyższego polecenia spowoduje przesłanie do AutoML żądania wygenerowania prognozy. Nie podano jednak danych wejściowych, więc żądanie zakończy się niepowodzeniem. Błąd HTTP 400 oznacza brak oczekiwanych danych.

Oczekiwane dane wyjściowe:

{ "error": { "code": 400, "message": "Puste instancje.", "status": "INVALID_ARGUMENT" } }

Test

Sprawdź swoją wiedzę na temat AutoML za pomocą krótkiego testu obejmującego tematy z tego modułu. Wykorzystaj zdobytą wiedzę do wygenerowania prognoz.

Obraz Cloud1-JSON

Sprawdźmy, czy nasz model potrafi na podstawie prognozy rozpoznać typ pokazanej chmury:

  1. Ustaw CLOUD1-JSON jako plik wejściowy.
INPUT_DATA_FILE=CLOUD1-JSON
  1. Wpisz to polecenie, aby przesłać żądanie wygenerowania prognozy:

curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq

Obraz Cloud2-JSON

Sprawdźmy, czy nasz model potrafi na podstawie prognozy rozpoznać typ pokazanej chmury:

  1. Ustaw CLOUD2-JSON jako plik wejściowy.
INPUT_DATA_FILE=CLOUD2-JSON
  1. Wpisz to polecenie, aby przesłać żądanie wygenerowania prognozy:

curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq

Gratulacje!

Już wiesz, jak wytrenować własny model systemu uczącego się i wygenerować w nim prognozy przy użyciu interfejsu internetowego. Wiesz również, jak wytrenować model na własnym zbiorze danych z plikami obrazów.

Wykonane zadania:

  • Przesłanie obrazów do trenowania do Cloud Storage i utworzenie pliku CSV umożliwiającego AutoML ich znalezienie.

  • Sprawdzenie etykiet i wytrenowanie modelu w interfejsie użytkownika AutoML.

  • Wygenerowanie prognoz przy użyciu nowych obrazów przedstawiających chmury.

Ukończ kurs

Ten moduł do samodzielnego ukończenia wchodzi w skład kursów Machine Learning APIsIntro to ML: Image Processing. Każdy kurs składa się z zestawu powiązanych ze sobą modułów, które razem tworzą ścieżkę szkoleniową. Za ukończenie kursu otrzymujesz odznakę – stanowi ona potwierdzenie Twojego osiągnięcia. Swoje odznaki możesz ustawiać jako widoczne publicznie, a także podać do nich linki w swoim CV lub w mediach społecznościowych. Zarejestruj się na ten kurs lub na dowolny kurs zawierający ten moduł, a zostanie on automatycznie zaliczony. Wszystkie dostępne kursy znajdziesz w katalogu Google Cloud Skills Boost.

Przejdź do kolejnego modułu

Kontynuuj kurs, przechodząc do Wykrywanie w obrazach etykiet, twarzy i punktów orientacyjnych przy użyciu interfejsu Cloud Vision API, lub sprawdź inne propozycje:

Kolejne kroki / Więcej informacji

Szkolenia i certyfikaty Google Cloud

…pomogą Ci wykorzystać wszystkie możliwości technologii Google Cloud. Nasze zajęcia obejmują umiejętności techniczne oraz sprawdzone metody, które ułatwią Ci szybką naukę i umożliwią jej kontynuację. Oferujemy szkolenia na poziomach od podstawowego po zaawansowany prowadzone w trybach wirtualnym, na żądanie i na żywo, dzięki czemu możesz dopasować program szkoleń do swojego napiętego harmonogramu. Certyfikaty umożliwią udokumentowanie i potwierdzenie umiejętności i doświadczenia uzyskanego w zakresie technologii Google Cloud.

Ostatnia aktualizacja instrukcji: 10 sierpnia 2022 r.

Ostatni test modułu: 10 sierpnia 2022 r.

Copyright 2020 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.