Training mit scikit-learn und XGBoost

Der AI Platform-Trainingsdienst verwaltet die Rechenressourcen in der Cloud für das Training Ihrer Modelle. Auf dieser Seite wird das Verfahren zum Trainieren eines Modells mit scikit-learn und XGBoost in AI Platform beschrieben.

Übersicht

In dieser Anleitung trainieren Sie mit dem Iris-Dataset ein einfaches Modell zur Vorhersage von Blumenarten. Nachdem Sie Ihren Modelltrainingscode angepasst haben, um Daten aus Cloud Storage herunterzuladen und Ihre gespeicherte Modelldatei in Cloud Storage hochzuladen, erstellen Sie ein Trainingsanwendungspaket und verwenden es für das Training in AI Platform.

In dieser Anleitung wird Python 2.7 verwendet.

Modell in AI Platform trainieren

Nach der Ersteinrichtung können Sie Ihr Modell in AI Platform in drei Schritten trainieren:

  • Python-Trainingsmodul erstellen
    • Fügen Sie Code zum Herunterladen Ihrer Daten aus Cloud Storage hinzu, damit AI Platform sie verwenden kann
    • Fügen Sie Code hinzu, um das Modell nach Abschluss des Trainings in AI Platform zu exportieren und in Cloud Storage zu speichern
  • Trainingsanwendungspaket vorbereiten
  • Trainingsjob senden

Im Rahmen der Ersteinrichtung erstellen Sie ein Google Cloud Platform-Projekt, aktivieren die Abrechnung und die APIs, richten einen Cloud Storage-Bucket zur Verwendung mit AI Platform ein und installieren scikit-learn oder XGBoost lokal. Wenn Sie bereits alles eingerichtet und installiert haben, fahren Sie mit Modelltrainingscode erstellen fort.

Vorbereitung

Führen Sie folgende Schritte aus, um ein GCP-Konto einzurichten, die AI Platform API zu aktivieren und das Cloud SDK zu installieren und zu aktivieren.

GCP-Projekt einrichten

  1. Melden Sie sich in Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, registrieren Sie sich hier für ein neues Konto.

  2. Wählen Sie ein Google Cloud Platform-Projekt aus oder erstellen Sie eines.

    Zur Seite "Ressourcen verwalten"

  3. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Platform-Projekt aktiviert ist.

    Informationen zum Aktivieren der Abrechnung

  4. Aktivieren Sie die AI Platform ("Cloud Machine Learning Engine") and Compute Engine erforderlichen APIs.

    Aktivieren Sie die APIs.

  5. Installieren und initialisieren Sie das Cloud SDK.

Umgebung einrichten

Wählen Sie eine der folgenden Optionen aus, um Ihre Umgebung lokal auf macOS oder in einer Remoteumgebung in Cloud Shell einzurichten.

Nutzern von macOS wird empfohlen, ihre Umgebung mit dem Tab MACOS einzurichten. Cloud Shell ist unter macOS, Linux und Windows verfügbar. Die entsprechende Anleitung finden Sie auf dem Tab CLOUD SHELL. Cloud Shell bietet eine schnelle Möglichkeit für den Test von AI Platform, eignet sich jedoch nicht für fortlaufende Entwicklungsarbeiten.

macOS

  1. Python-Installation überprüfen
    Prüfen Sie, ob Python installiert ist, und installieren Sie es gegebenenfalls.

    python -V
  2. pip-Installation überprüfen
    pip ist der Paketmanager von Python, der in aktuellen Versionen von Python enthalten ist. Mit pip --version können Sie prüfen, ob pip bereits installiert ist. Ist dies nicht der Fall, finden Sie entsprechende Informationen unter Installation von pip.

    Mit dem folgenden Befehl können Sie ein Upgrade von pip ausführen:

    pip install -U pip

    Weitere Informationen finden Sie in der Dokumentation zu pip.

  3. virtualenv installieren
    virtualenv ist ein Tool, mit dem sich isolierte Python-Umgebungen erstellen lassen. Überprüfen Sie mit virtualenv --version, ob virtualenv bereits installiert ist. Ist dies nicht der Fall, installieren Sie virtualenv:

    pip install --user --upgrade virtualenv

    Zur Einrichtung einer isolierten Entwicklungsumgebung für diese Anleitung erstellen Sie in virtualenv eine neue virtuelle Umgebung. Mit dem folgenden Befehl wird beispielsweise eine Umgebung mit dem Namen cmle-env aktiviert:

    virtualenv cmle-env
    source cmle-env/bin/activate
  4. Führen Sie für diese Anleitung die übrigen Befehle in Ihrer virtuellen Umgebung aus.

    Hier finden Sie weitere Informationen zur Verwendung von virtualenv. Zum Beenden von virtualenv führen Sie deactivate aus.

Cloud Shell

  1. Öffnen Sie die Google Cloud Platform Console.

    Zur Google Cloud Platform Console

  2. Klicken Sie im oberen Fensterbereich der Konsole auf Cloud Shell aktivieren.

    Google Cloud Shell aktivieren

    In einem neuen Frame im unteren Teil der Konsole wird eine Cloud Shell-Sitzung geöffnet und darin eine Eingabeaufforderung angezeigt. Die Initialisierung der Shell-Sitzung kann einige Sekunden dauern.

    Cloud Shell-Sitzung

    Die Cloud Shell-Sitzung kann jetzt verwendet werden.

  3. Konfigurieren Sie das Befehlszeilentool gcloud für die Verwendung Ihres ausgewählten Projekts:

    gcloud config set project [selected-project-id]

    Dabei ist [selected-project-id] die Projekt-ID. Geben Sie diese ohne die Klammern ein.

Google Cloud SDK-Komponenten überprüfen

So prüfen Sie, ob die Google Cloud SDK-Komponenten installiert sind:

  1. Listen Sie Ihre Modelle auf:

    gcloud ai-platform models list
  2. Wenn Sie noch keine Modelle erstellt haben, gibt der Befehl eine leere Liste zurück:

    Listed 0 items.

    Nach dem Erstellen von Modellen können Sie diese mit diesem Befehl auflisten.

  3. Wenn Sie gcloud schon installiert haben, aktualisieren Sie gcloud:

    gcloud components update

Frameworks installieren

macOS

Führen Sie in Ihrer virtuellen Umgebung den folgenden Befehl aus, um scikit-learn, XGBoost, pandas und joblib zu installieren:

(cmle-env)$ pip install scikit-learn xgboost pandas

Weitere Informationen, Hinweise zu weiteren Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in den Installationsanleitungen für die einzelnen Frameworks:

Cloud Shell

Führen Sie den folgenden Befehl aus, um scikit-learn, XGBoost, pandas und joblib zu installieren:

pip install --user scikit-learn xgboost pandas

Weitere Informationen, Hinweise zu weiteren Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in den Installationsanleitungen für die einzelnen Frameworks:

Cloud Storage-Bucket einrichten

Sie benötigen einen Cloud Storage-Bucket, in dem Trainingscode und Abhängigkeiten gespeichert werden. Für diese Anleitung ist es am einfachsten, wenn Sie einen dedizierten Cloud Storage-Bucket in demselben Projekt wie AI Platform verwenden.

Wenn Sie einen Bucket in einem anderen Projekt nutzen, müssen Sie dafür sorgen, dass Ihr AI Platform-Dienstkonto auf den Trainingscode und die Abhängigkeiten in Cloud Storage zugreifen kann. Ohne die entsprechenden Berechtigungen wird der Trainingsjob nicht ordnungsgemäß ausgeführt. Hier erfahren Sie, wie Sie Berechtigungen für den Speicher erteilen.

Achten Sie darauf, dass Sie einen Bucket in der Region verwenden oder einrichten, in der Sie auch die Trainingsjobs ausführen. Unter Verfügbare Regionen finden Sie Informationen zu den Regionen für AI Platform-Dienste.

In diesem Abschnitt wird gezeigt, wie Sie einen neuen Bucket erstellen. Sie können auch einen vorhandenen Bucket verwenden. Wenn er jedoch nicht Teil des zum Ausführen von AI Platform verwendeten Projekts ist, müssen Sie explizit Zugriff auf die AI Platform-Dienstkonten gewähren.

  1. Geben Sie einen Namen für den neuen Bucket an. Der Name muss sich von allen anderen Bucket-Namen in Cloud Storage unterscheiden:

    BUCKET_NAME="your_bucket_name"

    Verwenden Sie beispielsweise den Projektnamen mit angehängtem -mlengine:

    PROJECT_ID=$(gcloud config list project --format "value(core.project)")
    BUCKET_NAME=${PROJECT_ID}-mlengine
  2. Überprüfen Sie den erstellten Bucket-Namen:

    echo $BUCKET_NAME
  3. Wählen Sie eine Region für den Bucket aus und legen Sie eine Umgebungsvariable REGION fest.

    Beispielsweise wird mit dem folgenden Code die Umgebungsvariable REGION erstellt und dafür als Wert us-central1 festgelegt:

    REGION=us-central1
  4. Erstellen Sie den neuen Bucket:

    gsutil mb -l $REGION gs://$BUCKET_NAME

    Hinweis: Verwenden Sie dieselbe Region, in der die AI Platform-Jobs ausgeführt werden sollen. Im Beispiel ist us-central1 angegeben, da diese Region im Startleitfaden verwendet wird.

Python-Trainingsmodul erstellen

Erstellen Sie eine Datei namens iris_training.py, die den Code zum Trainieren Ihres Modells enthält. In diesem Abschnitt werden die Aufgaben der einzelnen Abschnitte des Trainingscodes erläutert:

  • Einrichtung und Importe
  • Herunterladen der Daten aus Cloud Storage
  • Laden der Daten in Pandas
  • Trainieren und Speichern des Modells
  • Hochladen der Datei mit dem gespeicherten Modell zu Cloud Storage

Der Einfachheit halber ist der gesamte Code für iris_training.py auf GitHub gehostet und kann für diese Anleitung verwendet werden:

Einrichtung

Importieren Sie die folgenden Bibliotheken aus Python und scikit-learn bzw. XGBoost. Legen Sie eine Variable für den Namen Ihres Cloud Storage-Buckets fest.

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>'

Daten von Cloud Storage herunterladen

Im Rahmen eines typischen Entwicklungsprozesses laden Sie Ihre Daten in Cloud Storage hoch, damit AI Platform darauf zugreifen kann. Die Daten für diese Anleitung werden in einem öffentlichen Cloud Storage-Bucket gehostet: gs://cloud-samples-data/ml-engine/iris/.

Mit dem folgenden Code lassen sich die Daten mit gsutil herunterladen und dann von gsutil an stdout weiterleiten:

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/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)

Daten in Pandas laden

Verwenden Sie Pandas, um für das Training mit scikit-learn oder XGBoost Ihre Daten in NumPy-Arrays zu laden.

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,))

Modell trainieren und speichern

Erstellen Sie ein Trainingsmodul zur Ausführung durch AI Platform. In diesem Beispiel wird mit dem Trainingsmodul ein Modell mit den Iris-Trainingsdaten (iris_data und iris_target) trainiert und das trainierte Modell gespeichert, indem es in eine Datei exportiert wird. Wenn Sie mithilfe von AI Platform nach dem Training Onlinevorhersagen treffen möchten, müssen Sie Ihre Modelldatei entsprechend der Bibliothek benennen, die Sie zum Exportieren der Datei verwenden. Siehe Informationen zu den Anforderungen für die Benennung Ihrer Modelldatei.

scikit-learn

Gemäß dem scikit-learn-Beispiel zur Modellpersistenz können Sie ein Modell so trainieren und exportieren:

# 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)

Sie haben auch die Möglichkeit, die Pickle-Bibliothek zu verwenden, um das Modell zu exportieren:

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

XGBoost

Sie können das Modell mithilfe der Methode "save_model" des Booster-Objekts exportieren.

# 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)

Sie haben auch die Möglichkeit, die Pickle-Bibliothek zu verwenden, um das Modell zu exportieren:

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

Anforderungen für die Benennung von Modelldateien

Je nach verwendeter Bibliothek muss die gespeicherte Modelldatei, die Sie in Cloud Storage hochladen, einen der folgenden Namen haben: model.pkl, model.joblib oder model.bst. Diese Einschränkung gewährleistet, dass AI Platform für die Modellrekonstruktion beim Import das gleiche Muster wie beim Export verwendet.

Diese Anforderung gilt nicht, wenn Sie eine benutzerdefinierte Vorhersageroutine (Beta) erstellen.

scikit-learn

Zum Exportieren des Modells verwendete Bibliothek Korrekter Modellname
pickle model.pkl
joblib model.joblib

XGBoost

Zum Exportieren des Modells verwendete Bibliothek Korrekter Modellname
pickle model.pkl
joblib model.joblib
xgboost.Booster model.bst

Organisieren Sie bei zukünftigen Iterationen Ihres Modells den Cloud Storage-Bucket so, dass jedes neue Modell ein eigenes Verzeichnis hat.

Gespeichertes Modell in Cloud Storage hochladen

Wenn Sie einen Cloud Storage-Bucket außerhalb des Google Cloud Platform-Projekts verwenden, mit dem Sie AI Platform ausführen, muss AI Platform Zugriff auf Ihren Bucket haben.

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)

Trainingsanwendungspaket erstellen

Wenn Sie iris_training.py mit den oben gezeigten Snippets erstellt haben, erstellen Sie ein Trainingsanwendungspaket und fügen Sie iris_training.py als Hauptmodul ein.

Die einfachste (und empfohlene) Methode zum Erstellen eines Trainingsanwendungspakets besteht darin, die Anwendung mit gcloud zu verpacken und hochzuladen, wenn Sie den Trainingsjob senden. Bei dieser Methode erstellen Sie eine sehr einfache Dateistruktur mit zwei Dateien.

scikit-learn

Für den Zweck dieser Anleitung sollte das Trainingsanwendungspaket in etwa so aussehen:

iris_sklearn_trainer/
    __init__.py
    iris_training.py
  1. Erstellen Sie in der Befehlszeile lokal ein Verzeichnis:

    mkdir iris_sklearn_trainer
    
  2. Erstellen Sie eine leere Datei mit dem Namen __init__.py:

    touch iris_sklearn_trainer/__init__.py
    
  3. Speichern Sie den Trainingscode als iris_training.py und speichern Sie diese Datei im Verzeichnis iris_sklearn_trainer. Alternativ können Sie mit cURL die Datei von GitHub herunterladen und speichern:

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

    Sehen Sie sich den vollständigen Quellcode auf GitHub an.

  4. Überprüfen Sie, ob Ihr Trainingsanwendungspaket ordnungsgemäß eingerichtet ist:

    ls ./iris_sklearn_trainer
      __init__.py  iris_training.py
    

XGBoost

Für den Zweck dieser Anleitung sollte das Trainingsanwendungspaket in etwa so aussehen:

iris_xgboost_trainer/
    __init__.py
    iris_training.py
  1. Erstellen Sie in der Befehlszeile lokal ein Verzeichnis:

    mkdir iris_xgboost_trainer
    
  2. Erstellen Sie eine leere Datei mit dem Namen __init__.py:

    touch iris_xgboost_trainer/__init__.py
    
  3. Speichern Sie den Trainingscode als iris_training.py und speichern Sie diese Datei im Verzeichnis iris_xgboost_trainer. Alternativ können Sie mit cURL die Datei von GitHub herunterladen und speichern:

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

    Sehen Sie sich den vollständigen Quellcode auf GitHub an.

  4. Überprüfen Sie, ob Ihr Trainingsanwendungspaket ordnungsgemäß eingerichtet ist:

    ls ./iris_xgboost_trainer
      __init__.py  iris_training.py
    

Weitere Informationen zum Verpacken einer Trainingsanwendung.

Trainingsanwendung lokal ausführen

Mit dem Befehl gcloud ai-platform local train können Sie Ihre Trainingsanwendung lokal testen. Dieser Schritt ist optional, aber nützlich für die Fehlerbehebung.

scikit-learn

Legen Sie in der Befehlszeile die folgenden Umgebungsvariablen fest und ersetzen Sie [VALUES-IN-BRACKETS] durch die entsprechenden Werte:

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

Testen Sie Ihren Trainingsjob lokal:

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

XGBoost

Legen Sie in der Befehlszeile die folgenden Umgebungsvariablen fest und ersetzen Sie [VALUES-IN-BRACKETS] durch die entsprechenden Werte:

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

Testen Sie Ihren Trainingsjob lokal:

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

Trainingsjob senden

In diesem Abschnitt senden Sie den Trainingsjob mit gcloud ai-platform jobs submit training.

Parameter für Trainingsjob festlegen

Legen Sie für jeden Parameter in Ihrer Trainingsjobanfrage die folgenden Umgebungsvariablen fest:

  • BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets
  • JOB_NAME: Der für den Job zu verwendende, mit einem Buchstaben beginnende Name, bestehend aus Groß- und Kleinbuchstaben, Ziffern und Unterstrichen. Zum Beispiel iris_scikit_learn_$(date +"%Y%m%d_%H%M%S") oder iris_xgboost_$(date +"%Y%m%d_%H%M%S").
  • JOB_DIR: Der Pfad zu einem Cloud Storage-Speicherort, der für die Ausgabedateien des Trainingsjobs verwendet werden soll. Zum Beispiel gs://$BUCKET_NAME/scikit_learn_job_dir oder gs://$BUCKET_NAME/xgboost_job_dir.
  • TRAINING_PACKAGE_PATH: Der lokale Pfad zum Stammverzeichnis der Trainingsanwendung, zum Beispiel ./iris_sklearn_trainer/ oder ./iris_xgboost_trainer/
  • MAIN_TRAINER_MODULE: Die Datei, die der Trainingsdienst von AI Platform ausführen soll. Das Format sieht so aus: [YOUR_FOLDER_NAME.YOUR_PYTHON_FILE_NAME]. Zum Beispiel iris_sklearn_trainer.iris_training oder iris_xgboost_trainer.iris_training.
  • REGION: Der Name der Region, in der Sie den Trainingsjob ausführen. Verwenden Sie dafür eine der verfügbaren Regionen für den Trainingsdienst von AI Platform. Achten Sie darauf, dass sich der Cloud Storage-Bucket in derselben Region befindet.
  • RUNTIME_VERSION: Sie müssen eine AI Platform-Laufzeitversion angeben, die scikit-learn unterstützt, in diesem Beispiel 1.13.
  • PYTHON_VERSION: Die Python-Version, die für den Job verwendet werden soll. Python 3.5 ist mit AI Platform ab Version 1.4 verfügbar. Geben Sie für diese Anleitung Python 2.7 an.
  • SCALE_TIER: Eine vordefinierte Clusterspezifikation für Rechner, auf denen der Trainingsjob ausgeführt werden soll, in diesem Fall BASIC. Sie können mit benutzerdefinierten Skalierungsstufen auch eine eigene Clusterkonfiguration für das Training definieren.

Die Umgebungsvariablen für diese Anleitung sind unten aufgeführt.

scikit-learn

Ersetzen Sie [VALUES-IN-BRACKETS] dabei durch die entsprechenden Werte:

    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=1.13
    PYTHON_VERSION=2.7
    SCALE_TIER=BASIC

XGBoost

Ersetzen Sie [VALUES-IN-BRACKETS] dabei durch die entsprechenden Werte:

    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=1.13
    PYTHON_VERSION=2.7
    SCALE_TIER=BASIC

Senden Sie die Trainingsjobanfrage:

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

Die Ausgabe sollte in etwa so aussehen:

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

Trainingslogs aufrufen (optional)

AI Platform erfasst alle stdout- und stderr-Streams und -Logberichte. Diese Logs werden in Stackdriver Logging gespeichert und sind sowohl während als auch nach der Ausführung sichtbar.

So zeigen Sie die Logs für Ihren Trainingsjob an:

Console

  1. Rufen Sie die AI Platform-Seite Jobs auf.

    Seite "Jobs" in der GCP Console aufrufen

  2. Wählen Sie den Namen des zu prüfenden Trainingsjobs aus. Dadurch gelangen Sie zur Seite Jobdetails für den ausgewählten Trainingsjob.

  3. Klicken Sie in den Jobdetails auf den Link Logs ansehen. Sie werden zur Logging-Seite weitergeleitet, auf der Sie Logs für den ausgewählten Trainingsjob suchen und filtern können.

gcloud

Mit gcloud ai-platform jobs stream-logs können Sie Logs in Ihrem Terminal aufrufen:

gcloud ai-platform jobs stream-logs $JOB_NAME

Modelldatei in Cloud Storage überprüfen

Sehen Sie sich den Inhalt des Zielordners für das Modell an, um zu überprüfen, ob die Datei mit dem gespeicherten Modell in Cloud Storage hochgeladen wurde.

gsutil ls gs://$BUCKET_NAME/iris_*

Beispielausgabe:

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

Modell in AI Platform für Onlinevorhersagen bereitstellen

Befolgen Sie die Anleitung zum Bereitstellen von Modellen und Versionen, um das Modell bereitzustellen und Vorhersagen zu erhalten. Sie können die Variablen $RUNTIME_VERSION und $PYTHON_VERSION verwenden, die Sie zuvor in dieser Anleitung definiert haben, um das Modell mit gcloud ai-platform versions create bereitzustellen.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

AI Platform für scikit-learn und XGBoost