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

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

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

1. Зарегистрируйтесь в облачной платформе Google.

Чтобы начать, перейдите на 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. Авторизация для блокнотов Kaggle
  • 2.2. Авторизация для блокнота Colab
  • 2.3. Аутентификация для ноутбуков 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) для запуска следующих команд. Вам будет показан идентификатор вашего платежного аккаунта_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 для тензорного облака в вашем проекте.

Для tensorflow_cloud мы используем два конкретных API: API заданий по обучению платформы AI и 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 . Используя номер вашего проекта из первого шага, мы создаем адрес электронной почты сервисной учетной записи и предоставляем роль администратора default AI Platform service account (roles/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

Поздравляем!

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

Запишите следующие значения, поскольку они необходимы для запуска tensorflow-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