ดูรายละเอียดได้ที่ TensorFlow.org | ดูบน 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. การตรวจสอบสิทธิ์สำหรับ Cloud AI Notebooks - ไม่รองรับ
2.1 การตั้งค่าการตรวจสอบสิทธิ์สำหรับ Kaggle Notebook
หากคุณใช้ Kaggle notebook คุณจะต้องทำขั้นตอนนี้ซ้ำสำหรับ notebook ใหม่ทุกตัวที่คุณใช้กับโปรเจกต์นี้ ใน notebook ของคุณ คลิกที่ Add-ons -> Google Cloud SDK แล้วทำตามคำแนะนำที่ปรากฏขึ้น จากนั้นเรียกใช้คำสั่งต่อไปนี้เพื่อเพิ่มข้อมูลรับรองการตรวจสอบสิทธิ์ของคุณลงใน notebook นี้
import sys
if "kaggle_secrets" in sys.modules:
from kaggle_secrets import UserSecretsClient
UserSecretsClient().set_gcloud_credentials(project=GCP_PROJECT_ID)
2.2 การตั้งค่าการตรวจสอบสิทธิ์สำหรับ Colab Notebook
หากคุณใช้ Colab notebook คุณจะต้องทำขั้นตอนนี้ซ้ำสำหรับ notebook ใหม่ทุกอันที่คุณใช้กับโปรเจกต์นี้ รันคำสั่งต่อไปนี้เพื่อเพิ่มข้อมูลรับรองการตรวจสอบสิทธิ์ของคุณลงใน notebook นี้
import sys
if "google.colab" in sys.modules:
from google.colab import auth
auth.authenticate_user()
3. เชื่อมโยงบัญชีการเรียกเก็บเงินของคุณกับโครงการ
ขั้นตอนต่อไปคือ การตั้งค่าบัญชีเรียกเก็บเงิน สำหรับโครงการนี้ Google Cloud จะสร้างโครงการให้คุณโดยค่าเริ่มต้น ซึ่งมีชื่อว่า “My First Project” เราจะใช้โครงการเริ่มต้นนี้ ใช้รหัสโครงการของคุณ (จากขั้นตอนที่ 1) เพื่อเรียกใช้คำสั่งต่อไปนี้ ซึ่งจะแสดงรหัสบัญชีเรียกเก็บเงินของคุณ จดบันทึกรหัสนี้ไว้สำหรับขั้นตอนต่อไป
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.com5. สร้างบัคเก็ตใน 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
ดูรายละเอียดได้ที่ TensorFlow.org
ดูบน GitHub
ดาวน์โหลดสมุดบันทึก
ลงแข่งขันใน Kaggle