Настройка и подключение к вашей учетной записи Google Cloud

Посмотреть на TensorFlow.org Запустить в Google Colab Посмотреть на GitHub Скачать блокнот Логотип Kaggle Беги в Kaggle

Это руководство предназначено для того, чтобы помочь пользователям, впервые создавшим учетную запись Google Cloud Platform, специально с намерением использовать tenorflow_cloud для легкого масштабного обучения на платформе Google Cloud AI Platform. TensorFlow Cloud предоставляет API-интерфейсы, которые позволяют пользователям легко переходить от отладки, обучения, настройки кода Keras и TensorFlow в локальной среде или среде kaggle до распределенного обучения / настройки в облаке.

1. Зарегистрируйтесь в Google Cloud Platform.

Чтобы начать, перейдите на https://cloud.google.com/ и нажмите «Начать бесплатно». Это двухэтапный процесс регистрации, в котором вам нужно будет указать свое имя, адрес и кредитную карту. Начальный аккаунт бесплатен, и вы можете использовать его на балансе 300 долларов. Для этого вам потребуется предоставить учетную запись Google (т. е. учетную запись Gmail) для входа.

После завершения процесса регистрации вы будете перенаправлены на страницу приветствия Google Cloud Platform . щелкните вкладку «Главная» и запишите свой идентификатор проекта и номер проекта. (см. Определение проектов )

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2.Включите Google Cloud SDK и аутентифицируйте свой блокнот.

Теперь, когда вы настроили свой проект, мы можем продолжить остальные шаги по настройке прямо из этой записной книжки. Существует три типа записных книжек, этот шаг (шаг № 2) немного отличается для каждого ноутбука, остальные шаги (шаги № 3 - № 6) одинаковы для всех ноутбуков.

  • 2.1. Auth для записных книжек Kaggle
  • 2.2. Auth для ноутбука Colab
  • 2.3. Auth для ноутбуков Cloud AI - не поддерживается.

2.1 Настройка аутентификации для ноутбука Kaggle

Если вы используете записную книжку Kaggle, вам нужно будет повторить этот шаг для любой новой записной книжки, которую вы используете в этом проекте. В записной книжке нажмите «Надстройки» -> «Google Cloud SDK» и следуйте инструкциям на экране. Затем выполните следующую команду, чтобы добавить свои учетные данные для авторизации в эту записную книжку.

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

2.2 Настройка аутентификации для ноутбука Colab

Если вы используете записную книжку Colab, вам нужно будет повторить этот шаг для любой новой записной книжки, которую вы используете в этом проекте. Выполните следующую команду, чтобы добавить свои учетные данные для авторизации в эту записную книжку.

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

Следующим шагом будет настройка биллинговой учетной записи для этого проекта. Google Cloud по умолчанию создает для вас проект, который называется «Мой первый проект». Мы будем использовать этот проект по умолчанию. Используйте свой идентификатор проекта (из шага 1) для выполнения следующих команд. Это покажет вам ваш Billing Account_ID, запишите это для следующего шага.

gcloud beta billing accounts list

Используйте свой Billing Account_ID, указанный выше, и выполните следующую команду, чтобы связать свой платежный аккаунт с вашим проектом.

Обратите внимание: если вы используете существующий проект, вы можете не увидеть Account_ID, это означает, что у вас нет необходимых разрешений для выполнения следующих команд, обращения к администратору или создания нового проекта.

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

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

4. Включите обязательные API для tenorflow-cloud в своем проекте.

Для tenorflow_cloud мы используем два конкретных API: API-интерфейс AI Platform Training Jobs и API-интерфейс Cloud Builder . Обратите внимание, что это однократная настройка для этого проекта, вам не нужно повторно запускать эту команду для каждой записной книжки.

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

5. Создайте корзину Google Cloud Storage.

Мы будем использовать эту корзину для временных активов, а также для сохранения контрольных точек модели. Запишите название ведра для использования в будущем. Обратите внимание, что имена сегментов уникальны во всем мире.

BUCKET_NAME = 'YOUR_BUCKET_NAME'

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

Создайте сервисную учетную запись для заданий HP Tuning

Этот шаг необходим для использования HP Tuning в Google Cloud с помощью CloudTuner. Чтобы создать учетную запись службы и предоставить ей доступ к редактору проекта, выполните следующую команду и запишите имя своей учетной записи службы.

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 определяется адресом электронной почты в формате service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com . Используя номер вашего проекта из шага 1, мы создаем адрес электронной почты учетной записи службы и предоставляем роль администратора default AI Platform service account по default AI Platform service account (роли / iam.serviceAccountAdmin) для вашей новой учетной записи службы.

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

Поздравляю!

Теперь вы готовы запустить tenorflow-cloud. Обратите внимание, что эти шаги нужно выполнить только один раз. После настройки проекта вы можете повторно использовать тот же проект и конфигурацию корзины для будущих запусков. Для любых новых записных книжек вам нужно будет повторить шаг два, чтобы добавить учетные данные для авторизации в Google Cloud.

Запишите следующие значения, поскольку они необходимы для запуска tenorflow-cloud.

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