راه اندازی و اتصال به حساب Google Cloud شما

مشاهده در TensorFlow.org در Google Colab اجرا شود در GitHub مشاهده کنید دانلود دفترچه یادداشت لوگوی Kaggleدر Kaggle بدوید

این راهنما برای کمک به کاربرانی است که برای اولین بار یک حساب Google Cloud Platform را به طور خاص با هدف استفاده از tensorflow_cloud برای اجرای آسان آموزش در مقیاس در Google Cloud AI Platform راه اندازی کنند. TensorFlow Cloud API هایی را ارائه می دهد که به کاربران امکان می دهد به راحتی از اشکال زدایی، آموزش، تنظیم Keras و کد TensorFlow در یک محیط محلی یا kaggle به آموزش/تنظیم توزیع شده در Cloud بروند.

1. در Google Cloud Platform ثبت نام کنید

برای شروع به https://cloud.google.com/ بروید و روی «شروع رایگان» کلیک کنید. این یک فرآیند ثبت نام دو مرحله ای است که در آن باید نام، آدرس و کارت اعتباری خود را ارائه دهید. حساب شروع رایگان است و 300 دلار اعتبار دارد که می توانید از آن استفاده کنید. برای این مرحله باید یک حساب Google (یعنی حساب Gmail خود) برای ورود به سیستم ارائه دهید.

پس از تکمیل فرآیند ثبت نام، به صفحه خوش آمدگویی Google Cloud Platform هدایت خواهید شد. روی تب "Home" کلیک کنید و شناسه پروژه و شماره پروژه خود را یادداشت کنید. ( به شناسایی پروژه ها مراجعه کنید)

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. Google Cloud SDK را فعال کنید و نوت بوک خود را احراز هویت کنید

اکنون که پروژه خود را راه اندازی کرده اید، می توانیم بقیه مراحل پیکربندی را مستقیماً از این نوت بوک ادامه دهیم. سه نوع نوت بوک وجود دارد، این مرحله (مرحله شماره 2) برای هر نوت بوک کمی متفاوت است، بقیه مراحل (مرحله 3 تا 6) برای همه نوت بوک ها یکسان است.

  • 2.1. تأیید اعتبار برای نوت بوک های Kaggle
  • 2.2. Auth for Colab notebook
  • 2.3. Auth for Cloud AI Notebook - پشتیبانی نمی شود.

2.1 تنظیم Auth برای یک نوت بوک Kaggle

اگر از نوت بوک Kaggle استفاده می کنید، باید این مرحله را برای هر نوت بوک جدیدی که با این پروژه استفاده می کنید، تکرار کنید. در نوت بوک خود بر روی Add-ons -> 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 تنظیم Auth برای یک نوت بوک 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 های مورد نیاز را برای tensorflow-cloud در پروژه خود فعال کنید

برای tensorflow_cloud از دو API خاص استفاده می‌کنیم: AI Platform Training Jobs API و Cloud builder API . توجه داشته باشید که این یک راه اندازی یک بار برای این پروژه است، شما نیازی به اجرای مجدد این دستور برای هر نوت بوک ندارید.

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