ดูบน TensorFlow.org | ดูบน 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()
3. เชื่อมโยงบัญชีการเรียกเก็บเงินของคุณกับโครงการของคุณ
ขั้นตอนต่อไปคือ การตั้งค่าบัญชีสำหรับการเรียกเก็บเงิน สำหรับโปรเจ็กต์นี้ 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