TensorFlow.org에서 보기 | GitHub에서 보기 | 노트북 다운로드 | Kaggle에서 실행 |
이 가이드는 Google Cloud Platform 계정을 처음 사용하는 사용자를 위해 작성되었으며, 특히 TensorFlow Cloud를 활용하여 Google Cloud AI Platform에서 대규모 학습을 손쉽게 실행하는 방법을 안내합니다. TensorFlow Cloud는 사용자가 로컬 환경이나 Kaggle 환경에서 Keras 및 TensorFlow 코드를 디버깅, 학습, 튜닝한 후 클라우드 환경에서 분산 학습/튜닝을 실행할 수 있도록 지원하는 API를 제공합니다.
1. Google Cloud Platform에 가입하세요
먼저 https://cloud.google.com/ 에 접속하여 "무료로 시작하기"를 클릭하세요. 이름, 주소, 신용카드 정보를 입력해야 하는 두 단계의 가입 절차가 있습니다. 스타터 계정은 무료이며, 사용 가능한 300달러 크레딧이 제공됩니다. 이 단계에서는 Google 계정(예: Gmail 계정)을 사용하여 로그인해야 합니다.
가입 절차를 완료하면 Google Cloud Platform 환영 페이지 로 이동합니다. "홈" 탭을 클릭하고 프로젝트 ID와 프로젝트 번호를 기록해 두세요. ( 프로젝트 식별 방법 참조)
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. 클라우드 AI 노트북 인증 - 지원되지 않습니다.
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()
3. 결제 계정을 프로젝트에 연결하세요
다음 단계는 이 프로젝트에 대한 결제 계정을 설정하는 것입니다. Google Cloud는 기본적으로 "My First Project"라는 프로젝트를 생성해 줍니다. 이 기본 프로젝트를 사용하겠습니다. 1단계에서 얻은 프로젝트 ID를 사용하여 다음 명령어를 실행하세요. 그러면 Billing Account_ID가 표시됩니다. 다음 단계를 위해 이 ID를 기록해 두세요.
gcloud beta billing accounts list위에서 확인한 청구 계정 ID를 사용하여 다음 명령을 실행하여 청구 계정을 프로젝트에 연결하세요.
기존 프로젝트를 사용하는 경우 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에 필요한 API를 활성화하세요.
tensorflow_cloud를 사용하려면 AI 플랫폼 학습 작업 API 와 클라우드 빌더 API 라는 두 가지 특정 API를 사용합니다. 이 설정은 이 프로젝트에 대해 한 번만 수행하면 되므로, 노트북마다 이 명령을 다시 실행할 필요는 없습니다.
gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com5. Google 클라우드 스토리지 버킷 생성
이 스토리지 버킷은 임시 자산 및 모델 체크포인트 저장 용도로 사용됩니다. 나중에 참조할 수 있도록 버킷 이름을 기록해 두십시오. 버킷 이름은 전역적으로 고유합니다.
BUCKET_NAME = 'YOUR_BUCKET_NAME'
GCS_BUCKET = f'gs://{BUCKET_NAME}'
!gsutil mb -p $GCP_PROJECT_ID $GCS_BUCKET
HP 튜닝 작업을 위한 서비스 계정을 생성하세요.
이 단계는 CloudTuner를 사용하여 Google Cloud에서 HP 튜닝을 사용하기 위해 필요합니다. 서비스 계정을 생성 하고 프로젝트 편집기 액세스 권한을 부여하려면 다음 명령을 실행하고 서비스 계정 이름을 기록해 두십시오.
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 형식의 이메일 주소로 식별됩니다. 1단계에서 얻은 프로젝트 번호를 사용하여 서비스 계정 이메일을 구성하고 새 서비스 계정에 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를 실행할 준비가 되었습니다. 이 단계는 한 번만 수행하면 됩니다. 프로젝트 설정이 완료되면 동일한 프로젝트 및 버킷 구성을 재사용하여 이후에도 실행할 수 있습니다. 새 노트북을 생성할 때는 2단계를 반복하여 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에서 실행