Thiết lập và kết nối với tài khoản Google Cloud của bạn

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Xem trên TensorFlow.org Chạy trong Google Colab Xem trên GitHub Tải xuống sổ ghi chép Logo KaggleChạy ở Kaggle

Hướng dẫn này nhằm giúp người dùng lần đầu tiên thiết lập tài khoản Google Cloud Platform đặc biệt với mục đích sử dụng tensorflow_cloud để dễ dàng thực hiện đào tạo trên quy mô lớn trên Google Cloud AI Platform. TensorFlow Cloud cung cấp các API cho phép người dùng dễ dàng đi từ gỡ lỗi, đào tạo, điều chỉnh mã Keras và TensorFlow trong môi trường cục bộ hoặc kaggle đến đào tạo / điều chỉnh phân tán trên Đám mây.

1. Đăng ký Google Cloud Platform

Để bắt đầu, hãy truy cập https://cloud.google.com/ và nhấp vào “Bắt đầu miễn phí”. Đây là quy trình đăng ký gồm hai bước, trong đó bạn cần cung cấp tên, địa chỉ và thẻ tín dụng của mình. Tài khoản bắt đầu miễn phí và đi kèm với khoản tín dụng 300 đô la mà bạn có thể sử dụng. Đối với bước này, bạn cần cung cấp Tài khoản Google (tức là tài khoản Gmail của bạn) để đăng nhập.

Sau khi hoàn tất quá trình đăng ký, bạn sẽ được chuyển hướng đến trang chào mừng của Google Cloud Platform . nhấp vào tab "Trang chủ" và ghi lại ID dự án và số dự án của bạn. (xem Xác định dự án )

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. Bật Google Cloud SDK và Xác thực sổ ghi chép của bạn

Bây giờ bạn đã thiết lập dự án của mình, chúng tôi có thể tiếp tục với phần còn lại của các bước cấu hình trực tiếp từ sổ ghi chép này. Có Ba loại sổ ghi chép, bước này (bước # 2) hơi khác nhau đối với mỗi sổ ghi chép, các bước còn lại (bước # 3 đến # 6) đều giống nhau đối với tất cả các sổ ghi chép.

  • 2.1. Auth cho máy tính xách tay Kaggle
  • 2.2. Máy tính xách tay Auth cho Colab
  • 2.3. Auth cho Cloud AI Notebooks - Không được hỗ trợ.

2.1 Thiết lập Auth cho Kaggle Notebook

Nếu bạn đang sử dụng sổ ghi chép Kaggle, bạn sẽ cần phải lặp lại bước này cho bất kỳ sổ ghi chép mới nào mà bạn sử dụng với dự án này. Trong sổ tay của bạn, hãy nhấp vào Tiện ích bổ sung -> Google Cloud SDK và làm theo hướng dẫn trên lời nhắc. Sau đó, chạy lệnh sau để thêm thông tin xác thực của bạn vào sổ ghi chép này.

import sys
if "kaggle_secrets" in sys.modules:
    from kaggle_secrets import UserSecretsClient
    UserSecretsClient().set_gcloud_credentials(project=GCP_PROJECT_ID)

2.2 Thiết lập Auth cho Colab Notebook

Nếu bạn đang sử dụng sổ ghi chép Colab, bạn sẽ cần phải lặp lại bước này cho bất kỳ sổ ghi chép mới nào mà bạn sử dụng với dự án này. Chạy lệnh sau để thêm thông tin xác thực của bạn vào sổ ghi chép này.

import sys
if "google.colab" in sys.modules:
    from google.colab import auth
    auth.authenticate_user()

Bước tiếp theo là thiết lập tài khoản thanh toán cho dự án này. Google Cloud Tạo một dự án cho bạn theo mặc định được gọi là “Dự án đầu tiên của tôi”. Chúng tôi sẽ sử dụng dự án mặc định này. Sử dụng ID dự án của bạn (từ bước 1) để chạy các lệnh sau. Điều này sẽ hiển thị cho bạn Billing Account_ID của bạn, hãy ghi nhớ điều này cho bước tiếp theo.

gcloud beta billing accounts list

Sử dụng Billing Account_ID của bạn ở trên và chạy phần sau để liên kết tài khoản thanh toán với dự án của bạn.

Lưu ý rằng nếu bạn sử dụng một dự án hiện có, bạn có thể không thấy Account_ID, điều này có nghĩa là bạn không có quyền thích hợp để chạy các lệnh sau, liên hệ với quản trị viên của bạn hoặc tạo một dự án mới.

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

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

4. Bật các API bắt buộc cho đám mây tensorflow trong dự án của bạn

Đối với tensorflow_cloud, chúng tôi sử dụng hai API cụ thể: API công việc đào tạo nền tảng AIAPI trình tạo đám mây . Lưu ý rằng đây là thiết lập một lần cho dự án này, bạn không cần phải chạy lại lệnh này cho mọi sổ ghi chép.

gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com

5. Tạo nhóm Google Cloud Storage

Chúng tôi sẽ sử dụng nhóm lưu trữ này cho nội dung tạm thời cũng như để lưu các điểm kiểm tra của mô hình. Ghi lại tên của nhóm để tham khảo trong tương lai. Tên nhóm ghi chú là duy nhất trên toàn cầu.

BUCKET_NAME = 'YOUR_BUCKET_NAME'

GCS_BUCKET = f'gs://{BUCKET_NAME}'
!gsutil mb -p $GCP_PROJECT_ID $GCS_BUCKET

Tạo tài khoản dịch vụ cho các công việc Điều chỉnh HP

Bước này là bắt buộc để sử dụng HP Tuning trên Google Cloud bằng CloudTuner. Để tạo tài khoản dịch vụ và cấp cho nó quyền truy cập trình soạn thảo dự án, hãy chạy lệnh sau và ghi chú tên tài khoản dịch vụ của bạn.

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 được xác định bằng địa chỉ email có định dạng service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com . Sử dụng số Dự án của bạn từ bước một, chúng tôi tạo email tài khoản dịch vụ và cấp vai trò quản trị default AI Platform service account (role / iam.serviceAccountAdmin) trên tài khoản dịch vụ mới của bạn.

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

Xin chúc mừng !

Bây giờ bạn đã sẵn sàng để chạy đám mây tensorflow. Lưu ý rằng các bước này chỉ cần chạy một lần. Khi bạn đã thiết lập dự án của mình, bạn có thể sử dụng lại cùng một dự án và cấu hình nhóm cho các lần chạy sau. Đối với bất kỳ sổ tay mới nào, bạn sẽ cần lặp lại bước hai để thêm thông tin xác thực Google Cloud của mình.

Ghi lại các giá trị sau khi chúng cần thiết để chạy đám mây tensorflow.

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