scikit-learn 및 XGBoost를 사용하여 ML 모델 학습

AI Platform 학습 서비스는 모델 학습을 위해 클라우드의 컴퓨팅 리소스를 관리합니다. 이 페이지에서는 AI Platform Training에서 scikit-learn 및 XGBoost를 사용하여 모델을 학습시키는 과정을 설명합니다.

개요

이 가이드에서는 Iris 데이터세트를 사용하여 꽃의 종류를 예측하는 간단한 모델을 학습시킵니다. Cloud Storage에서 데이터를 다운로드하고 저장된 모델 파일을 Cloud Storage에 업로드하도록 모델 학습 코드를 조정한 후 학습 애플리케이션 패키지를 만들어 AI Platform Training에서 학습을 실행합니다.

AI Platform Training에서 모델을 학습시키는 방법

초기 설정 프로세스를 완료하면 다음 3가지 단계로 AI Platform Training에서 모델을 학습시킬 수 있습니다.

  • Python 학습 모듈 만들기
    • AI Platform Training이 사용할 수 있도록 Cloud Storage에서 데이터를 다운로드하는 코드 추가
    • AI Platform Training에서 모델 학습이 완료된 후 모델을 내보내고 Cloud Storage에 저장하는 코드 추가
  • 학습 애플리케이션 패키지 준비
  • 학습 작업 제출

초기 설정 프로세스에는 Google Cloud 프로젝트 만들기, 결제 및 API 사용 설정, AI Platform Training에 사용할 Cloud Storage 버킷 설정, scikit-learn 또는 XGBoost 로컬에 설치가 포함됩니다. 이미 모든 항목을 설치했으면 모델 학습 코드 만들기로 건너뜁니다.

시작하기 전에

다음 단계에 따라 GCP 계정을 설정하고 AI Platform Training API를 활성화한 후 Cloud SDK를 설치하여 활성화합니다.

GCP 프로젝트 설정

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Enable the AI Platform Training & Prediction and Compute Engine APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  9. Enable the AI Platform Training & Prediction and Compute Engine APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

환경 설정

아래 옵션 중 하나를 선택하여 macOS에서 로컬로 또는 Cloud Shell의 원격 환경에서 환경을 설정합니다.

macOS 사용자는 아래의 MACOS 탭을 사용하여 환경을 설정하는 것이 좋습니다. CLOUD SHELL 탭에 표시된 Cloud Shell은 macOS, Linux, Windows에서 사용할 수 있습니다. Cloud Shell을 이용하면 AI Platform Training을 빠르게 사용해 볼 수 있지만 지속적인 개발 작업에는 적합하지 않습니다.

macOS

  1. Python 설치 확인
    Python이 설치되어 있는지 확인하고 필요하면 설치합니다.

    python -V
  2. pip 설치 확인
    pip는 현재 버전의 Python에 포함되어 있는 Python의 패키지 관리자입니다. pip --version을 실행하여 pip가 이미 설치되어 있는지 확인합니다. 설치되어 있지 않으면 pip 설치 방법을 참조하세요.

    다음 명령어를 사용하여 pip를 업그레이드할 수 있습니다.

    pip install -U pip

    자세한 내용은 pip 문서를 참조하세요.

  3. virtualenv 설치
    virtualenv는 격리된 Python 환경을 만드는 도구입니다. virtualenv --version을 실행하여 virtualenv가 이미 설치되어 있는지 확인합니다. 설치되어 있지 않으면 virtualenv를 설치합니다.

    pip install --user --upgrade virtualenv

    이 가이드용으로 격리된 개발 환경을 만들려면 virtualenv에서 새 가상 환경을 만듭니다. 예를 들어 다음 명령어는 aip-env라는 환경을 활성화합니다.

    virtualenv aip-env
    source aip-env/bin/activate
  4. 이 튜토리얼에서는 나머지 명령어를 가상 환경 내에서 실행합니다.

    virtualenv 사용에 대한 자세한 내용을 알아보세요. virtualenv를 종료하려면 deactivate를 실행합니다.

Cloud Shell

  1. Google Cloud 콘솔을 엽니다.

    Google Cloud 콘솔

  2. 콘솔 창의 상단에서 Google Cloud Shell 활성화 버튼을 클릭합니다.

    Google Cloud Shell 활성화

    콘솔 하단의 새로운 프레임에 Cloud Shell 세션이 열리고 명령줄 프롬프트가 표시됩니다. 셸 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

    Cloud Shell 세션

    Cloud Shell 세션을 사용할 수 있습니다.

  3. 선택한 프로젝트를 사용하려면 gcloud 명령줄 도구를 구성합니다.

    gcloud config set project [selected-project-id]

    [selected-project-id]는 프로젝트 ID입니다. (괄호 생략)

프레임워크 설치

macOS

가상 환경 내에서 다음 명령어를 실행하여 AI Platform Training 런타임 버전 2.11에 사용되는 scikit-learn, XGBoost, pandas의 버전을 설치합니다.

(aip-env)$ pip install scikit-learn==1.0.2 xgboost==1.6.2 pandas==1.3.5

앞의 명령어에 버전 번호를 제공하면 가상 환경의 종속 항목과 런타임 버전의 종속 항목을 일치시킬 수 있습니다. 이렇게 하면 AI Platform Training에서 코드를 실행할 때 예기치 못한 동작을 방지하는 데 도움이 됩니다.

설치 옵션 및 문제 해결 정보에 대한 자세한 내용은 각 프레임워크의 설치 안내를 참조하세요.

Cloud Shell

다음 명령어를 실행하여 scikit-learn, XGBoost, pandas를 설치합니다.

pip install --user scikit-learn xgboost pandas

설치 옵션 및 문제 해결 정보에 대한 자세한 내용은 각 프레임워크의 설치 안내를 참조하세요.

Cloud Storage 버킷 설정

학습 코드 및 종속 항목을 저장하려면 Cloud Storage 버킷이 필요합니다. 이 가이드를 쉽게 따라하려면 AI Platform Training에 사용하는 것과 동일한 프로젝트에서 전용 Cloud Storage 버킷을 사용하는 것이 좋습니다.

다른 프로젝트에서 버킷을 사용 중인 경우 AI Platform Training 서비스 계정이 Cloud Storage에 있는 학습 코드 및 종속 항목에 액세스할 수 있는지 확인해야 합니다. 적절한 권한이 없으면 학습 작업이 실패합니다. 스토리지에 대한 권한을 부여하는 방법을 참조하세요.

학습 작업 실행하는 데 사용 중인 리전의 버킷을 사용하거나 설정해야 합니다. AI Platform Training 서비스에 사용 가능한 리전을 참조하세요.

이 섹션에서는 새 버킷을 만드는 방법을 설명합니다. 기존 버킷을 사용할 수도 있지만 해당 버킷이 AI Platform 작업을 실행하려는 리전과 동일한 리전에 있어야 합니다. 또한 해당 버킷이 AI Platform Training을 실행하는 데 사용 중인 프로젝트에 속하지 않는 경우 명시적으로 AI Platform Training 서비스 계정에 대한 액세스 권한을 부여해야 합니다.

  1. 새 버킷의 이름을 지정합니다. 이름은 Cloud Storage의 모든 버킷에서 중복되지 않아야 합니다.

    BUCKET_NAME="YOUR_BUCKET_NAME"

    예를 들어 프로젝트 이름에 -aiplatform을 추가하여 사용합니다.

    PROJECT_ID=$(gcloud config list project --format "value(core.project)")
    BUCKET_NAME=${PROJECT_ID}-aiplatform
  2. 만든 버킷 이름을 확인합니다.

    echo $BUCKET_NAME
  3. 버킷 리전을 선택하고 REGION 환경 변수를 설정합니다.

    AI Platform Training 작업을 실행할 리전과 동일한 리전을 사용합니다. AI Platform Training 서비스에 사용 가능한 리전을 참조하세요.

    예를 들어 다음 코드는 REGION을 생성하고 us-central1로 설정합니다.

    REGION=us-central1
  4. 새 버킷을 만듭니다.

    gcloud storage buckets create gs://$BUCKET_NAME --location=$REGION

Python 학습 모듈 만들기

모델을 학습시키는 코드를 포함하는 iris_training.py 파일을 만듭니다. 이 섹션에서는 각 학습 코드의 역할을 설명합니다.

  • 설치 및 가져오기
  • Cloud Storage에서 데이터 다운로드
  • pandas에 데이터 로드
  • 모델 학습 및 저장
  • 저장된 모델 파일을 Cloud Storage에 업로드

편의를 위해 iris_training.py의 전체 코드가 GitHub에서 호스팅되므로 이 가이드에서 사용할 수 있습니다.

설정

Python, scikit-learn 또는 XGBoost에서 다음 라이브러리를 가져옵니다. Cloud Storage 버킷의 이름에 대한 변수를 설정합니다.

scikit-learn

import datetime
import os
import subprocess
import sys
import pandas as pd
from sklearn import svm
from sklearn.externals import joblib

# Fill in your Cloud Storage bucket name
BUCKET_NAME = '<YOUR_BUCKET_NAME>'

XGBoost

import datetime
import os
import subprocess
import sys
import pandas as pd
import xgboost as xgb

# Fill in your Cloud Storage bucket name
BUCKET_NAME = '<YOUR_BUCKET_NAME>'

Cloud Storage에서 데이터 다운로드

일반적인 개발 프로세스에서는 데이터를 AI Platform Training이 액세스할 수 있도록 Cloud Storage에 업로드합니다. 이 가이드의 데이터는 공개 Cloud Storage 버킷에서 호스팅됩니다. gs://cloud-samples-data/ai-platform/iris/

다음 코드는 gsutil을 사용하여 데이터를 다운로드한 다음 데이터를 gsutil에서 stdout으로 전환합니다.

scikit-learn

iris_data_filename = 'iris_data.csv'
iris_target_filename = 'iris_target.csv'
data_dir = 'gs://cloud-samples-data/ml-engine/iris'

# gsutil outputs everything to stderr so we need to divert it to stdout.
subprocess.check_call(['gsutil', 'cp', os.path.join(data_dir,
                                                    iris_data_filename),
                       iris_data_filename], stderr=sys.stdout)
subprocess.check_call(['gsutil', 'cp', os.path.join(data_dir,
                                                    iris_target_filename),
                       iris_target_filename], stderr=sys.stdout)

XGBoost

iris_data_filename = 'iris_data.csv'
iris_target_filename = 'iris_target.csv'
data_dir = 'gs://cloud-samples-data/ai-platform/iris'

# gsutil outputs everything to stderr so we need to divert it to stdout.
subprocess.check_call(['gsutil', 'cp', os.path.join(data_dir,
                                                    iris_data_filename),
                       iris_data_filename], stderr=sys.stdout)
subprocess.check_call(['gsutil', 'cp', os.path.join(data_dir,
                                                    iris_target_filename),
                       iris_target_filename], stderr=sys.stdout)

pandas에 데이터 로드

scikit-learn 또는 XGBoost를 사용한 학습을 위해 pandas를 사용하여 데이터를 NumPy 배열에 로드합니다.

scikit-learn

# Load data into pandas, then use `.values` to get NumPy arrays
iris_data = pd.read_csv(iris_data_filename).values
iris_target = pd.read_csv(iris_target_filename).values

# Convert one-column 2D array into 1D array for use with scikit-learn
iris_target = iris_target.reshape((iris_target.size,))

XGBoost

# Load data into pandas, then use `.values` to get NumPy arrays
iris_data = pd.read_csv(iris_data_filename).values
iris_target = pd.read_csv(iris_target_filename).values

# Convert one-column 2D array into 1D array for use with XGBoost
iris_target = iris_target.reshape((iris_target.size,))

모델 학습 및 저장

AI Platform 학습을 실행할 학습 모듈을 만듭니다. 이 예시에서 학습 모듈은 Iris 학습 데이터(iris_datairis_target)에서 모델을 학습시키고 학습된 모델을 파일로 내보내서 저장합니다. 학습 후에 AI Platform Prediction을 사용하여 온라인 예측을 수행하려면 모델 파일 내보내기에 사용할 라이브러리에 따라 모델 파일 이름을 지정해야 합니다. 모델 파일의 이름 지정 요구사항에 대해 자세히 알아보세요.

scikit-learn

모델 지속성에 대한 scikit-learn 예시를 따라 다음과 같이 모델을 학습시키고 내보낼 수 있습니다.

# Train the model
classifier = svm.SVC(gamma='auto', verbose=True)
classifier.fit(iris_data, iris_target)

# Export the classifier to a file
model_filename = 'model.joblib'
joblib.dump(classifier, model_filename)

모델을 내보내려면 다음과 같이 pickle 라이브러리를 사용할 수도 있습니다.

import pickle
with open('model.pkl', 'wb') as model_file:
  pickle.dump(classifier, model_file)

XGBoost

Booster 객체의 '모델 저장' 메서드를 사용하여 모델을 내보낼 수 있습니다.

# Load data into DMatrix object
dtrain = xgb.DMatrix(iris_data, label=iris_target)

# Train XGBoost model
bst = xgb.train({}, dtrain, 20)

# Export the classifier to a file
model_filename = 'model.bst'
bst.save_model(model_filename)

모델을 내보내려면 다음과 같이 pickle 라이브러리를 사용할 수도 있습니다.

import pickle
with open('model.pkl', 'wb') as model_file:
  pickle.dump(bst, model_file)

모델 파일 이름 지정 요구사항

온라인 예측의 경우 Cloud Storage에 업로드할 저장된 모델 파일의 이름을 사용한 라이브러리에 따라 model.pkl, model.joblib, model.bst 중 하나로 지정해야 합니다. 이렇게 하면 AI Platform Prediction은 모델을 가져올 때 내보내기에 사용한 것과 동일한 패턴으로 모델을 재구성합니다.

커스텀 예측 루틴(베타)을 만드는 경우에는 이 요구사항이 적용되지 않습니다.

scikit-learn

모델 내보내기에 사용된 라이브러리 올바른 모델 이름
pickle model.pkl
sklearn.externals.joblib model.joblib

XGBoost

모델 내보내기에 사용된 라이브러리 올바른 모델 이름
pickle model.pkl
joblib model.joblib
xgboost.Booster model.bst

이후의 모델 반복을 대비하여 새 모델에 각각 전용 디렉토리가 있도록 Cloud Storage 버킷을 구성하세요.

저장된 모델을 Cloud Storage에 업로드

AI Platform Training을 실행하는 데 사용하는 Google Cloud 프로젝트 외부에 있는 Cloud Storage 버킷을 사용할 경우 이 버킷에 대한 액세스 권한이 AI Platform Training에 있는지 확인해야 합니다.

scikit-learn

# Upload the saved model file to Cloud Storage
gcs_model_path = os.path.join('gs://', BUCKET_NAME,
    datetime.datetime.now().strftime('iris_%Y%m%d_%H%M%S'), model_filename)
subprocess.check_call(['gsutil', 'cp', model_filename, gcs_model_path],
    stderr=sys.stdout)

XGBoost

# Upload the saved model file to Cloud Storage
gcs_model_path = os.path.join('gs://', BUCKET_NAME,
    datetime.datetime.now().strftime('iris_%Y%m%d_%H%M%S'), model_filename)
subprocess.check_call(['gsutil', 'cp', model_filename, gcs_model_path],
    stderr=sys.stdout)

학습 애플리케이션 패키지 만들기

위의 스니펫에서 생성된 iris_training.py를 사용하여 iris_training.py를 기본 모듈로 포함하는 학습 애플리케이션 패키지를 만듭니다.

학습 애플리케이션 패키지를 만드는 가장 쉽고 권장되는 방법은 학습 작업을 제출할 때 gcloud를 사용하여 애플리케이션을 패키징하고 업로드하는 것입니다. 이 방법을 사용하려면 파일 두 개로 구성된 아주 단순한 파일 구조를 만들어야 합니다.

scikit-learn

이 가이드에서는 학습 애플리케이션 패키지의 파일 구조가 다음과 비슷하게 표시됩니다.

iris_sklearn_trainer/
    __init__.py
    iris_training.py
  1. 명령줄에서 디렉터리를 로컬에 만듭니다.

    mkdir iris_sklearn_trainer
    
  2. 이름이 __init__.py인 빈 파일을 만듭니다.

    touch iris_sklearn_trainer/__init__.py
    
  3. 학습 코드를 iris_training.py로 저장하고, 그 파일을 iris_sklearn_trainer 디렉터리 내에 저장합니다. 또는 cURL을 사용하여 GitHub에서 파일을 다운로드하고 저장합니다.

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/cloudml-samples/master/sklearn/iris_training.py > iris_sklearn_trainer/iris_training.py
    

    GitHub에서 전체 소스 코드를 확인합니다.

  4. 학습 애플리케이션 패키지가 올바르게 설정되었는지 확인합니다.

    ls ./iris_sklearn_trainer
      __init__.py  iris_training.py
    

XGBoost

이 가이드에서는 학습 애플리케이션 패키지의 파일 구조가 다음과 비슷하게 표시됩니다.

iris_xgboost_trainer/
    __init__.py
    iris_training.py
  1. 명령줄에서 디렉터리를 로컬에 만듭니다.

    mkdir iris_xgboost_trainer
    
  2. 이름이 __init__.py인 빈 파일을 만듭니다.

    touch iris_xgboost_trainer/__init__.py
    
  3. 학습 코드를 iris_training.py로 저장하고, 그 파일을 iris_xgboost_trainer 디렉터리 내에 저장합니다. 또는 cURL을 사용하여 GitHub에서 파일을 다운로드하고 저장합니다.

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/cloudml-samples/master/xgboost/iris_training.py > iris_xgboost_trainer/iris_training.py
    

    GitHub에서 전체 소스 코드를 확인합니다.

  4. 학습 애플리케이션 패키지가 올바르게 설정되었는지 확인합니다.

    ls ./iris_xgboost_trainer
      __init__.py  iris_training.py
    

학습 애플리케이션을 패키지화하는 방법에 대해 자세히 알아보세요.

로컬에서 트레이너 실행

gcloud ai-platform local train 명령어를 사용하면 교육 애플리케이션을 로컬에서 테스트할 수 있습니다. 이 단계는 선택사항이지만 디버깅에 유용합니다.

scikit-learn

명령줄에서 [VALUES-IN-BRACKETS]를 적절한 값으로 바꾸어 다음 환경 변수를 설정합니다.

TRAINING_PACKAGE_PATH="./iris_sklearn_trainer/"
MAIN_TRAINER_MODULE="iris_sklearn_trainer.iris_training"

로컬에서 학습 작업 테스트

gcloud ai-platform local train \
  --package-path $TRAINING_PACKAGE_PATH \
  --module-name $MAIN_TRAINER_MODULE

XGBoost

명령줄에서 [VALUES-IN-BRACKETS]를 적절한 값으로 바꾸어 다음 환경 변수를 설정합니다.

TRAINING_PACKAGE_PATH="./iris_xgboost_trainer/"
MAIN_TRAINER_MODULE="iris_xgboost_trainer.iris_training"

로컬에서 학습 작업 테스트

gcloud ai-platform local train \
  --package-path $TRAINING_PACKAGE_PATH \
  --module-name $MAIN_TRAINER_MODULE

학습 작업 제출

이 섹션에서는 gcloud ai-platform jobs submit training을 사용하여 학습 작업을 제출합니다.

학습 작업 매개변수 지정

학습 작업 요청의 각 매개변수에 다음과 같은 환경 변수를 설정합니다.

  • BUCKET_NAME - Cloud Storage 버킷 이름입니다.
  • JOB_NAME - 작업에 사용할 이름입니다(대소문자가 혼합된 문자, 숫자, 밑줄만 사용, 문자로 시작). 예를 들면 iris_scikit_learn_$(date +"%Y%m%d_%H%M%S") 또는 iris_xgboost_$(date +"%Y%m%d_%H%M%S")입니다.
  • JOB_DIR - 학습 작업의 출력 파일에 사용할 Cloud Storage 위치의 경로입니다. 예를 들면 gs://$BUCKET_NAME/scikit_learn_job_dir 또는 gs://$BUCKET_NAME/xgboost_job_dir입니다.
  • TRAINING_PACKAGE_PATH - 학습 애플리케이션의 루트 디렉터리에 대한 로컬 경로입니다. 예를 들면 ./iris_sklearn_trainer/ 또는 ./iris_xgboost_trainer/입니다.
  • MAIN_TRAINER_MODULE - AI Platform Training 서비스가 실행할 파일을 지정합니다. 형식은 [YOUR_FOLDER_NAME.YOUR_PYTHON_FILE_NAME]입니다. 예를 들면 iris_sklearn_trainer.iris_training 또는 iris_xgboost_trainer.iris_training입니다.
  • REGION - 학습 작업을 실행하는 데 사용할 리전의 이름입니다. AI Platform Training 서비스에 사용 가능한 리전 중 하나를 사용합니다. Cloud Storage 버킷이 동일한 리전에 있는지 확인합니다.
  • RUNTIME_VERSION - scikit-learn을 지원하는 AI Platform Training 런타임 버전을 지정해야 합니다. 이 예시에서는 2.11입니다.
  • PYTHON_VERSION - 작업에 사용할 Python 버전입니다. 이 가이드에서는 Python 3.7을 지정합니다.
  • SCALE_TIER - 학습 작업을 실행할 머신의 사전 정의된 클러스터 사양입니다. 이 경우는 BASIC입니다. 커스텀 확장 등급을 사용하여 고유한 학습용 클러스터 구성을 정의할 수도 있습니다.

편의를 위해 아래에 이 가이드의 환경 변수가 있습니다.

scikit-learn

[VALUES-IN-BRACKETS]를 적절한 값으로 바꿉니다.

    BUCKET_NAME=[YOUR-BUCKET-NAME]
    JOB_NAME="iris_scikit_learn_$(date +"%Y%m%d_%H%M%S")"
    JOB_DIR=gs://$BUCKET_NAME/scikit_learn_job_dir
    TRAINING_PACKAGE_PATH="./iris_sklearn_trainer/"
    MAIN_TRAINER_MODULE="iris_sklearn_trainer.iris_training"
    REGION=us-central1
    RUNTIME_VERSION=2.11
    PYTHON_VERSION=3.7
    SCALE_TIER=BASIC

XGBoost

[VALUES-IN-BRACKETS]를 적절한 값으로 바꿉니다.

    BUCKET_NAME=[YOUR-BUCKET-NAME]
    JOB_NAME="iris_xgboost_$(date +"%Y%m%d_%H%M%S")"
    JOB_DIR=gs://$BUCKET_NAME/xgboost_job_dir
    TRAINING_PACKAGE_PATH="./iris_xgboost_trainer/"
    MAIN_TRAINER_MODULE="iris_xgboost_trainer.iris_training"
    REGION=us-central1
    RUNTIME_VERSION=2.11
    PYTHON_VERSION=3.7
    SCALE_TIER=BASIC

학습 작업 요청을 제출합니다.

gcloud ai-platform jobs submit training $JOB_NAME \
  --job-dir $JOB_DIR \
  --package-path $TRAINING_PACKAGE_PATH \
  --module-name $MAIN_TRAINER_MODULE \
  --region $REGION \
  --runtime-version=$RUNTIME_VERSION \
  --python-version=$PYTHON_VERSION \
  --scale-tier $SCALE_TIER

다음과 비슷한 출력이 표시됩니다.

Job [iris_scikit_learn_[DATE]_[TIME]] submitted successfully.
Your job is still active. You may view the status of your job with the command

  $ gcloud ai-platform jobs describe iris_scikit_learn_[DATE]_[TIME]

or continue streaming the logs with the command

  $ gcloud ai-platform jobs stream-logs iris_scikit_learn_[DATE]_[TIME]

jobId: iris_scikit_learn_[DATE]_[TIME]
state: QUEUED

학습 로그 보기(선택사항)

AI Platform Training은 모든 stdoutstderr 스트림과 로깅 구문을 캡처합니다. 이러한 로그는 Logging에 저장되며 실행 중 및 실행 후에 볼 수 있습니다.

학습 작업에 대한 로그를 보려면 다음 단계를 따르세요.

콘솔

  1. AI Platform Training 작업 페이지를 엽니다.

    Google Cloud 콘솔에서 작업 열기

  2. 검사할 학습 작업 이름을 선택합니다. 이렇게 하면 선택한 학습 작업의 작업 세부정보 페이지로 이동합니다.

  3. 작업 세부정보에서 로그 보기 링크를 선택합니다. 이렇게 하면 선택한 학습 작업의 로그를 검색 및 필터링할 수 있는 로깅 Logging 페이지로 이동합니다.

gcloud

gcloud ai-platform jobs stream-logs를 사용하여 터미널에서 로그를 확인할 수 있습니다.

gcloud ai-platform jobs stream-logs $JOB_NAME

Cloud Storage에서 모델 파일 확인

대상 모델 폴더의 콘텐츠를 보고 저장된 모델 파일이 Cloud Storage에 업로드되었는지 확인합니다.

gcloud storage ls gs://$BUCKET_NAME/iris_*

출력 예시:

gs://bucket-name/iris_20180518_123815/:
gs://bucket-name/iris_20180518_123815/model.joblib

다음 단계