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 AutoML, możesz generować prognozy za pomocą wytrenowanego modelu i łatwego w użyciu interfejsu API typu REST.

W tym module prześlesz obrazy do Cloud Storage i użyjesz ich do wytrenowania własnego modelu 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,
  • generowanie prognoz za pomocą wytrenowanego modelu.

Konfiguracja i wymagania

Zanim klikniesz przycisk Rozpocznij moduł

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

W tym praktycznym module 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.

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

  • dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome).
Uwaga: uruchom ten moduł w oknie incognito lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie oddatkowych opłat na koncie osobistym.
  • Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module, aby uniknąć naliczania opłat na koncie.

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.

  1. Kliknij Aktywuj Cloud Shell Ikona aktywowania Cloud Shell na górze konsoli Google Cloud.

Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Dane wyjściowe zawierają wiersz z zadeklarowanym identyfikatorem PROJECT_ID dla tej sesji:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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.

  1. (Opcjonalnie) Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
gcloud auth list
  1. Kliknij Autoryzuj.

  2. Dane wyjściowe powinny wyglądać tak:

Dane wyjściowe:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcjonalnie) 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 Uwaga: pełną dokumentację gcloud w Google Cloud znajdziesz w opisie narzędzia wiersza poleceń gcloud.

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 \ 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ż. Sprawdź, czy 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 obrazów (jedna etykieta).

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 jego zakończeniu 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. Sprawdzanie 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. Generowanie prognoz

Istnieje kilka sposobów generowania prognoz. W tym module użyjesz interfejsu, żeby przesłać obrazy, a następnie sprawdzisz, jak Twój model radzi sobie z ich klasyfikacją (pierwszy obraz przedstawia chmurę 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ładowy plik CLOUD1-JSON:
cat CLOUD1-JSON

Przykładowe dane wyjściowe:

{ "instances": [{ "content": "YOUR_IMAGE_BYTES" }], "parameters": { "confidenceThreshold": 0.5, "maxPredictions": 5 } }
  1. Skopiuj wartość punktu końcowego do zmiennej środowiskowej.
ENDPOINT=$(gcloud run services describe automl-service --platform managed --region {{{project_0.default_region | REGION}}} --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": "Empty instances.", "status": "INVALID_ARGUMENT" } }

Zadanie 6. 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 z chmurą nr 1

Sprawdź, czy 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 z chmurą nr 2

Sprawdź, czy 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.
  • 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 modułu 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 Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.

Ostatnia aktualizacja instrukcji: 20 października 2023 r.

Ostatni test modułu: 20 października 2023 r.

Copyright 2024 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.