Посмотреть на TensorFlow.org | Запустить в Google Colab | Посмотреть на GitHub | Скачать блокнот | Запуск в Kaggle |
Это руководство призвано помочь начинающим пользователям настроить учетную запись Google Cloud Platform специально для использования tensorflow_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. Авторизация для блокнотов Kaggle
- 2.2. Авторизация для блокнота Colab
- 2.3. Аутентификация для облачных блокнотов ИИ — не поддерживается.
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()
3. Привяжите свой платежный аккаунт к своему проекту.
Следующий шаг — настройка платежного аккаунта для этого проекта. 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 для tensorflow-cloud в вашем проекте.
Для tensorflow_cloud мы используем два специальных API: API для заданий обучения на платформе ИИ и API для построения облака . Обратите внимание, что это одноразовая настройка для данного проекта, вам не нужно повторно запускать эту команду для каждого ноутбука.
gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com5. Создайте хранилище 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
Посмотреть на TensorFlow.org
Запустить в Google Colab
Посмотреть на GitHub
Скачать блокнот
Запуск в Kaggle