Benutzerdefiniertes Hello-Training: Trainieren eines benutzerdefinierten Bildklassifizierungsmodells

Auf dieser Seite erfahren Sie, wie Sie eine TensorFlow Keras-Trainingsanwendung in Vertex AI ausführen. Dieses spezifische Modell trainiert ein Bildklassifizierungsmodell, das Blumen nach Typ klassifizieren kann.

Diese Anleitung umfasst mehrere Seiten:

  1. Projekt und Umgebung einrichten

  2. Benutzerdefiniertes Bildklassifizierungsmodell trainieren

  3. Vorhersagen aus einem benutzerdefinierten Bildklassifizierungsmodell bereitstellen.

  4. Projekt bereinigen.

Auf jeder Seite wird davon ausgegangen, dass Sie die Anleitung auf den vorherigen Seiten des Leitfadens bereits ausgeführt haben.

Im weiteren Verlauf dieses Dokuments wird davon ausgegangen, dass Sie dieselbe Cloud Shell-Umgebung verwenden, die Sie erstellt haben, wenn Sie der ersten Seite dieser Anleitung gefolgt sind. Wenn Ihre ursprüngliche Cloud Shell-Sitzung nicht mehr geöffnet ist, können Sie mit folgenden Schritten zur Umgebung zurückkehren:

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  2. Führen Sie in der Cloud Shell-Sitzung den folgenden Befehl aus:

    cd hello-custom-sample

Benutzerdefinierte Trainingspipeline ausführen

In diesem Abschnitt wird die Verwendung des Trainingspakets beschrieben, das Sie in Cloud Storage hochgeladen haben, um eine benutzerdefinierte Trainingspipeline von Vertex AI auszuführen.

  1. Rufen Sie in der Google Cloud Console im Abschnitt "Vertex AI" die Seite Trainingspipelines auf.

    Zur Trainingspipeline

  2. Klicken Sie auf Erstellen, um den Bereich Neues Modell trainieren zu öffnen.

  3. Führen Sie im Schritt Trainingsmethode auswählen die folgenden Schritte aus:

    1. Wählen Sie in der Drop-down-Liste Dataset die Option Kein verwaltetes Dataset aus. Diese spezielle Trainingsanwendung lädt Daten aus der Bibliothek TensorFlow Datasets statt aus einem verwalteten Vertex AI-Dataset.

    2. Achten Sie darauf, dass Benutzerdefiniertes Training (erweitert) ausgewählt ist.

    Klicken Sie auf Weiter.

  4. Geben Sie im Schritt Modelldetails im Feld Name hello_custom ein. Klicken Sie auf Weiter.

  5. Geben Sie im Schritt Trainingscontainer Informationen für Vertex AI zur Verwendung des Trainingspakets an, das Sie in Cloud Storage hochgeladen haben.

    1. Wählen Sie Vordefinierter Container aus.

    2. Wählen Sie in der Drop-down-Liste Modell-Framework die Option TensorFlow aus.

    3. Wählen Sie in der Drop-down-Liste Modell-Framework-Version die Option 2.3 aus.

    4. Geben Sie im Feld Paket den Wert cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz ein.

    5. Geben Sie im Feld Python-Modul den Wert trainer.task ein. trainer ist der Name des Python-Pakets in Ihrem Tarball und task.py den Trainingscode enthält. Daher ist trainer.task der Name des Moduls, das Vertex AI ausführen soll.

    6. Klicken Sie im Feld Modellausgabeverzeichnis auf Durchsuchen. Gehen Sie im Bereich Ordner auswählen so vor:

      1. Wechseln Sie zu Ihrem Cloud Storage-Bucket.

      2. Klicken Sie auf Neuen Ordner erstellen .

      3. Geben Sie dem neuen Ordner den Namen output. Klicken Sie auf Erstellen.

      4. Klicken Sie auf Auswählen.

      Prüfen Sie, ob das Feld den Wert gs://BUCKET_NAME/output enthält. Dabei ist BUCKET_NAME der Name Ihres Cloud Storage-Buckets.

      Dieser Wert wird Vertex AI im API-Feld baseOutputDirectory übergeben. Dadurch werden mehrere Umgebungsvariablen festgelegt, auf die Ihre Trainingsanwendung zugreifen kann, wenn sie ausgeführt wird.

      Wenn Sie beispielsweise dieses Feld auf gs://BUCKET_NAME/output setzen, legt Vertex AI die Umgebungsvariable AIP_MODEL_DIR auf gs://BUCKET_NAME/output/model fest. Am Ende des Trainings verwendet Vertex AI alle Artefakte im Verzeichnis AIP_MODEL_DIR, um eine Modellressource zu erstellen.

      Umgebungsvariablen für dieses Feld

    Klicken Sie auf Weiter.

  6. Achten Sie darauf, dass im optionalen Schritt Hyperparameter das Kästchen Hyperparameter-Abstimmung aktivieren nicht markiert ist. In dieser Anleitung wird keine Hyperparameter-Abstimmung verwendet. Klicken Sie auf Weiter.

  7. Weisen Sie im Schritt Computing und Preise Ressourcen für den benutzerdefinierten Trainingsjob zu:

    1. Wählen Sie im Drop-down-Menü Region die Option us-central1 aus.

    2. Wählen Sie in der Drop-down-Liste Maschinentyp die Option n1-standard-4 aus dem Abschnitt Standard aus.

    Fügen Sie für diese Anleitung keine Beschleuniger oder Worker-Pools hinzu. Klicken Sie auf Weiter.

  8. Im Schritt Vorhersagecontainer geben Sie Vertex AI Informationen zum Abrufen von Vorhersagen an:

    1. Wählen Sie Vordefinierter Container aus.

    2. Gehen Sie im Bereich Vordefinierte Containereinstellungen folgendermaßen vor:

      1. Wählen Sie in der Drop-down-Liste Modell-Framework die Option TensorFlow aus.

      2. Wählen Sie in der Drop-down-Liste Modell-Framework-Version die Option 2.3 aus.

      3. Wählen Sie in der Drop-down-Liste Beschleunigertyp die Option Keine aus.

      4. Prüfen Sie, ob das Feld Modellverzeichnis den Wert gs://BUCKET_NAME/output enthält. Dabei ist BUCKET_NAME der Name Ihres Cloud Storage-Buckets. Dies entspricht dem Wert Modellausgabeverzeichnis, den Sie in einem vorherigen Schritt bereitgestellt haben.

    3. Lassen Sie die Felder im Abschnitt Schemata vorhersagen leer.

  9. Klicken Sie auf Training starten, um die benutzerdefinierte Trainingspipeline zu starten.

Sie können jetzt Ihre neue Trainingspipeline mit dem Namen hello_custom auf der Seite Training ansehen. Möglicherweise müssen Sie die Seite aktualisieren. Diese Trainingspipeline hat zwei Hauptaspekte:

  1. Die Trainingspipeline erstellt eine benutzerdefinierte Jobressource mit dem Namen hello_custom-custom-job. Nach kurzer Zeit können Sie diese Ressource auf der Seite Benutzerdefinierte Jobs im Abschnitt Training ansehen:

    Benutzerdefinierte Jobs aufrufen

    Der benutzerdefinierte Job führt die Trainingsanwendung mit den Rechenressourcen aus, die Sie in diesem Abschnitt angegeben haben.

  2. Nach Abschluss des benutzerdefinierten Jobs sucht die Trainingspipeline die Artefakte, die Ihre Trainingsanwendung im Verzeichnis output/model/ Ihres Cloud Storage-Buckets erstellt. Anhand dieser Artefakte wird eine Modellressource erstellt.

Training überwachen

So rufen Sie Trainingslogs auf:

  1. Rufen Sie in der Google Cloud Console im Abschnitt "Vertex AI" die Seite Benutzerdefinierte Jobs auf.

    Benutzerdefinierte Jobs aufrufen

  2. Klicken Sie in der Liste auf hello_custom-custom-job, um Details für die gerade erstellte CustomJob aufzurufen.

  3. Klicken Sie auf der Seite mit den Jobdetails auf Logs ansehen.

Trainiertes Modell ansehen

Wenn die benutzerdefinierte Trainingspipeline abgeschlossen ist, finden Sie das trainierte Modell in der Google Cloud Console im Abschnitt „Vertex AI“ auf der Seite Modelle.

Zur Seite Modelle

Das Modell hat den Namen hello_custom.

Nächste Schritte

Folgen Sie der nächsten Seite dieser Anleitung, um Vorhersagen aus Ihrem trainierten ML-Modell auszuführen.