الإعداد والاتصال بحسابك على Google Cloud

عرض على موقع TensorFlow.org عرض على GitHub تنزيل دفتر الملاحظات شعار كاغلركض في كاغل

يهدف هذا الدليل إلى مساعدة المستخدمين الجدد على إنشاء حساب على منصة Google Cloud Platform، وتحديدًا بهدف استخدام TensorFlow Cloud لتشغيل التدريب على نطاق واسع بسهولة على منصة Google Cloud AI Platform. يوفر TensorFlow Cloud واجهات برمجة تطبيقات (APIs) تُمكّن المستخدمين من الانتقال بسلاسة من تصحيح الأخطاء، والتدريب، وضبط كود Keras وTensorFlow في بيئة محلية أو بيئة Kaggle، إلى التدريب/الضبط الموزع على السحابة.

1. التسجيل في منصة جوجل السحابية

للبدء، انتقل إلى https://cloud.google.com/ وانقر على "ابدأ مجانًا". هذه عملية تسجيل من خطوتين، حيث ستحتاج إلى تقديم اسمك وعنوانك وبطاقة ائتمان. الحساب المبدئي مجاني ويأتي مع رصيد بقيمة 300 دولار يمكنك استخدامه. في هذه الخطوة، ستحتاج إلى تقديم حساب جوجل (أي حساب جيميل الخاص بك) لتسجيل الدخول.

بعد إتمام عملية التسجيل، ستتم إعادة توجيهك إلى صفحة الترحيب في منصة جوجل السحابية . انقر على علامة التبويب "الرئيسية" ودوّن معرّف مشروعك ورقم المشروع. (راجع قسم تحديد المشاريع )

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. قم بتمكين Google Cloud SDK ومصادقة دفتر الملاحظات الخاص بك

بعد إعداد مشروعك، يُمكننا متابعة باقي خطوات التهيئة مباشرةً من هذه المفكرة. توجد ثلاثة أنواع من المفكرات، وتختلف هذه الخطوة (الخطوة رقم ٢) قليلاً بين كل مفكرة وأخرى، بينما تبقى الخطوات الأخرى (من الخطوة رقم ٣ إلى الخطوة رقم ٦) متطابقة في جميع المفكرات.

  • 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()

الخطوة التالية هي إعداد حساب الفوترة لهذا المشروع. يقوم Google Cloud بإنشاء مشروع لك تلقائيًا باسم "مشروعي الأول". سنستخدم هذا المشروع الافتراضي. استخدم مُعرّف مشروعك (من الخطوة 1) لتشغيل الأوامر التالية. سيظهر لك هذا مُعرّف حساب الفوترة الخاص بك، احتفظ به للخطوة التالية.

gcloud beta billing accounts list

استخدم معرف حساب الفوترة الخاص بك من الأعلى وقم بتشغيل ما يلي لربط حساب الفوترة الخاص بك بمشروعك.

ملاحظة: إذا كنت تستخدم مشروعًا موجودًا، فقد لا ترى Account_ID، وهذا يعني أنه ليس لديك الأذونات المناسبة لتشغيل الأوامر التالية، اتصل بمسؤول النظام أو أنشئ مشروعًا جديدًا.

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

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

4. قم بتمكين واجهات برمجة التطبيقات المطلوبة لـ tensorflow-cloud في مشروعك

نستخدم في tensorflow_cloud واجهتي برمجة تطبيقات محددتين: واجهة برمجة تطبيقات مهام تدريب منصة الذكاء الاصطناعي وواجهة برمجة تطبيقات بناء السحابة . يُرجى ملاحظة أن هذا الإعداد يتم لمرة واحدة فقط لهذا المشروع، ولا يلزم إعادة تشغيل هذا الأمر لكل دفتر ملاحظات.

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

هذه الخطوة ضرورية لاستخدام 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