Посмотреть на 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()
3. Привяжите свой платежный аккаунт к своему проекту.
Следующим шагом будет настройка платежного аккаунта для этого проекта. 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