Konfigurowanie i łączenie się z kontem Google Cloud

Zobacz na TensorFlow.org Uruchom w Google Colab Zobacz na GitHubie Pobierz notatnik Logo Kaggle'aBiegaj w Kaggle

Ten przewodnik ma pomóc użytkownikom, którzy po raz pierwszy skonfigurowali konto Google Cloud Platform specjalnie z zamiarem używania tensorflow_cloud do łatwego przeprowadzania szkoleń na dużą skalę w Google Cloud AI Platform. TensorFlow Cloud zapewnia interfejsy API, które pozwalają użytkownikom łatwo przejść od debugowania, szkolenia, dostrajania kodu Keras i TensorFlow w środowisku lokalnym lub kaggle do rozproszonego szkolenia/dostrajania w chmurze.

1. Zarejestruj się w Google Cloud Platform

Aby rozpocząć, wejdź na https://cloud.google.com/ i kliknij „Rozpocznij za darmo”. Jest to dwuetapowy proces rejestracji, w którym musisz podać swoje imię i nazwisko, adres oraz kartę kredytową. Konto startowe jest bezpłatne i zawiera środki o wartości 300 USD, które możesz wykorzystać. Na tym etapie musisz podać konto Google (tj. konto Gmail), aby się zalogować.

Po zakończeniu procesu rejestracji zostaniesz przekierowany na stronę powitalną Google Cloud Platform . kliknij zakładkę „Strona główna” i zanotuj identyfikator projektu oraz numer projektu. (patrz Identyfikacja projektów )

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. Włącz pakiet SDK Google Cloud i uwierzytelnij swój notatnik

Po skonfigurowaniu projektu możemy kontynuować pozostałe kroki konfiguracji bezpośrednio z tego notatnika. Istnieją trzy rodzaje notatników. Ten krok (krok nr 2) jest nieco inny dla każdego notatnika, pozostałe kroki (kroki nr 3 do nr 6) są takie same dla wszystkich notatników.

  • 2.1. Autoryzacja notatników Kaggle
  • 2.2. Autoryzacja notatnika Colab
  • 2.3. Uwierzytelnianie notatników Cloud AI — nieobsługiwane.

2.1 Konfiguracja uwierzytelniania dla notebooka Kaggle

Jeśli używasz notatnika Kaggle, będziesz musiał powtórzyć ten krok dla każdego nowego notatnika, którego będziesz używać w tym projekcie. W swoim notatniku kliknij Dodatki -> Google Cloud SDK i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie. Następnie uruchom następujące polecenie, aby dodać poświadczenia uwierzytelniania do tego notesu.

import sys
if "kaggle_secrets" in sys.modules:
    from kaggle_secrets import UserSecretsClient
    UserSecretsClient().set_gcloud_credentials(project=GCP_PROJECT_ID)

2.2 Skonfiguruj uwierzytelnianie dla notatnika Colab

Jeśli używasz notatnika Colab, musisz powtórzyć ten krok w przypadku każdego nowego notatnika, którego będziesz używać w tym projekcie. Uruchom następujące polecenie, aby dodać poświadczenia uwierzytelniania do tego notesu.

import sys
if "google.colab" in sys.modules:
    from google.colab import auth
    auth.authenticate_user()

Następnym krokiem jest skonfigurowanie konta rozliczeniowego dla tego projektu. Google Cloud Domyślnie tworzy dla Ciebie projekt o nazwie „Mój pierwszy projekt”. Będziemy używać tego domyślnego projektu. Użyj identyfikatora projektu (z kroku 1), aby uruchomić następujące polecenia. Spowoduje to wyświetlenie identyfikatora konta rozliczeniowego. Zanotuj to i wykorzystaj w następnym kroku.

gcloud beta billing accounts list

Użyj podanego powyżej identyfikatora konta rozliczeniowego i wykonaj poniższe czynności, aby połączyć konto rozliczeniowe z projektem.

Uwaga, jeśli korzystasz z istniejącego projektu, możesz nie widzieć Account_ID, co oznacza, że ​​nie masz odpowiednich uprawnień do uruchamiania następujących poleceń, kontaktowania się z administratorem lub tworzenia nowego projektu.

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

!gcloud beta billing projects link $GCP_PROJECT_ID --billing-account $BILLING_ACCOUNT_ID

4. Włącz wymagane interfejsy API dla chmury tensorflow w swoim projekcie

W przypadku tensorflow_cloud używamy dwóch specyficznych interfejsów API: AI Platform Training Jobs API i Cloud Builder API . Należy pamiętać, że jest to jednorazowa konfiguracja dla tego projektu i nie trzeba ponownie uruchamiać tego polecenia dla każdego notesu.

gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com

5. Utwórz zasobnik Google Cloud Storage

Będziemy używać tego zasobnika do przechowywania zasobów tymczasowych, a także do zapisywania punktów kontrolnych modelu. Zanotuj nazwę wiadra, aby móc z niej skorzystać w przyszłości. Uwaga: nazwy segmentów są unikalne na całym świecie.

BUCKET_NAME = 'YOUR_BUCKET_NAME'

GCS_BUCKET = f'gs://{BUCKET_NAME}'
!gsutil mb -p $GCP_PROJECT_ID $GCS_BUCKET

Utwórz konto serwisowe dla zadań HP Tuning

Ten krok jest wymagany, aby móc korzystać z HP Tuning w Google Cloud przy użyciu CloudTuner. Aby utworzyć konto usługi i nadać mu dostęp do edytora projektu, uruchom następujące polecenie i zanotuj nazwę swojego konta usługi.

SERVICE_ACCOUNT_NAME ='YOUR_SERVICE_ACCOUNT_NAME'

SERVICE_ACCOUNT_EMAIL = f'{SERVICE_ACCOUNT_NAME}@{GCP_PROJECT_ID}.iam.gserviceaccount.com'
!gcloud iam --project $GCP_PROJECT_ID service-accounts create $SERVICE_ACCOUNT_NAME
!gcloud projects add-iam-policy-binding $GCP_PROJECT_ID \
    --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \
    --role=roles/editor

default AI Platform service account jest identyfikowane za pomocą adresu e-mail w formacie service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com . Korzystając z numeru projektu z kroku pierwszego, tworzymy adres e-mail konta usługi i przyznajemy default AI Platform service account (roles/iam.serviceAccountAdmin) na Twoim nowym koncie usługi.

DEFAULT_AI_PLATFORM_SERVICE_ACCOUNT = f'service-{PROJECT_NUMBER}@cloud-ml.google.com.iam.gserviceaccount.com'

!gcloud iam --project $GCP_PROJECT_ID service-accounts add-iam-policy-binding \
--role=roles/iam.serviceAccountAdmin \
--member=serviceAccount:$DEFAULT_AI_PLATFORM_SERVICE_ACCOUNT \
$SERVICE_ACCOUNT_EMAIL

Gratulacje!

Możesz teraz uruchomić chmurę tensorflow. Należy pamiętać, że te kroki należy wykonać tylko raz. Po skonfigurowaniu projektu możesz ponownie wykorzystać tę samą konfigurację projektu i zasobnika w przyszłych uruchomieniach. W przypadku nowych notatników konieczne będzie powtórzenie kroku drugiego, aby dodać dane uwierzytelniające Google Cloud.

Zanotuj następujące wartości, ponieważ są one potrzebne do uruchomienia chmury tensorflow.

print(f"Your GCP_PROJECT_ID is:       {GCP_PROJECT_ID}")
print(f"Your SERVICE_ACCOUNT_NAME is: {SERVICE_ACCOUNT_NAME}")
print(f"Your BUCKET_NAME is:          {BUCKET_NAME}")
Your GCP_PROJECT_ID is:       YOUR_PROJECT_ID
Your SERVICE_ACCOUNT_NAME is: YOUR_SERVICE_ACCOUNT_NAME
Your BUCKET_NAME is:          YOUR_BUCKET_NAME