การตั้งค่าและการเชื่อมต่อกับบัญชี Google Cloud ของคุณ

ดูบน TensorFlow.org ทำงานใน Google Colab ดูบน GitHub ดาวน์โหลดสมุดบันทึก โลโก้คักเกิล วิ่งใน Kaggle

คู่มือนี้มีไว้เพื่อช่วยให้ผู้ใช้ครั้งแรกตั้งค่าบัญชี Google Cloud Platform โดยมีจุดประสงค์เพื่อใช้ tensorflow_cloud เพื่อดำเนินการฝึกอบรมในวงกว้างบน Google Cloud AI Platform ได้อย่างง่ายดาย TensorFlow Cloud มอบ API ที่ช่วยให้ผู้ใช้สามารถเปลี่ยนจากการดีบัก การฝึก การปรับแต่งโค้ด Keras และ TensorFlow ในสภาพแวดล้อมภายในเครื่องหรือ kaggle ไปจนถึงการฝึก/การปรับแต่งแบบกระจายบน Cloud

1. ลงทะเบียนสำหรับแพลตฟอร์ม Google Cloud

หากต้องการเริ่มต้น ให้ไปที่ https://cloud.google.com/ แล้วคลิก "เริ่มต้นใช้งานฟรี" กระบวนการสมัครใช้งานมี 2 ขั้นตอนซึ่งคุณจะต้องระบุชื่อ ที่อยู่ และบัตรเครดิต บัญชีเริ่มต้น ฟรีและมาพร้อมกับเครดิต $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 Notebook - ไม่รองรับ

2.1 ตั้งค่าการรับรองความถูกต้องสำหรับ Kaggle Notebook

หากคุณใช้สมุดบันทึก 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) เพื่อรันคำสั่งต่อไปนี้ นี่จะแสดง 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

เราจะใช้ที่เก็บข้อมูลนี้สำหรับสินทรัพย์ชั่วคราวตลอดจนบันทึกจุดตรวจสอบโมเดล จดชื่อที่เก็บข้อมูลไว้เพื่อใช้อ้างอิงในอนาคต ชื่อที่เก็บข้อมูลของ Note จะไม่ซ้ำกันทั่วโลก

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