Modelle und Jobs verwalten

Wenn Sie Modelle bereitstellen und trainieren sowie Vorhersagen abrufen, müssen Sie Ressourcen auf der Google Cloud Platform verwalten. Auf dieser Seite wird beschrieben, wie Sie mit Modellen, Versionen und Jobs arbeiten.

AI Platform Prediction-Ressourcen benennen

Sie müssen für jeden von Ihnen erstellten Job einen Namen angeben. Die Regeln für die Benennung sind für alle drei Ressourcentypen einheitlich. Für jeden Namen gilt:

  • Es dürfen nur Buchstaben, Zahlen und Unterstriche verwendet werden.
  • Groß-/Kleinschreibung ist zu beachten.
  • Muss mit einem Buchstaben beginnen.
  • Er darf höchstens 128 Zeichen lang sein.
  • Er darf nicht mehrfach innerhalb seines Namespace vergeben sein (innerhalb des Projekts bei Modellen und Jobs und innerhalb des übergeordneten Modells bei Versionen).

Erstellen Sie Namen, die in Ressourcenlisten wie Joblogs leicht zu unterscheiden sind. Hier einige Vorschläge:

  • Verwenden Sie bei allen Jobs für dasselbe Modell den Modellnamen in Kombination mit einem Jobindex. Der Zeitstempel der Joberstellung ist hierfür gut geeignet.
  • Benennen Sie Ihre Modelle so, dass sie vom verwendeten Dataset leicht identifiziert werden können. Beispielsweise ist census_wide_deep in der Regel besser als my_new_model.
  • Versionen sollten möglichst leicht lesbar sein. Anstatt einen Zeitstempel oder einen ähnlichen eindeutigen Wert zu verwenden, empfehlen wir die Verwendung einfacher Versionskennungen wie v1.

Modelle verwalten

Ihre Modellressourcen in AI Platform Prediction sind logische Container für einzelne Implementierungen Ihres ML-Modells. Die Arbeit mit diesen Ressourcen gestaltet sich am einfachsten, da sie keine komplexen Vorgänge oder zusätzliche Ressourcen aufweisen, die zugewiesen oder verwaltet werden müssen.

In der folgenden Tabelle werden die Modellvorgänge zusammengefasst und die Schnittstellen aufgeführt, mit denen Sie die Vorgänge ausführen können:

Aktion Schnittstellen Notes
create projects.models.create
gcloud ai-platform models create
Modell erstellen auf der Seite AI Platform-Modelle.
delete projects.models.delete

Das Löschen eines Modells ist ein lang andauernder Vorgang.

Damit ein Modell gelöscht werden kann, dürfen ihm keine Versionen zugeordnet sein.

gcloud ai-platform models delete
Löschen in der Liste Modelle oder auf der Seite Modelldetails.
get projects.models.get

Die abgerufenen Informationen sind in der Referenz zur Ressource Model beschrieben.

gcloud ai-platform models describe
Seite Modelldetails (Zugang über einen Link in der Liste Modelle).
list projects.models.list
gcloud ai-platform models list
Seite AI Platform Prediction-Modelle

Versionen verwalten

Versionen sind spezifische Iterationen von Modellen. Der Kern einer Modellversion ist ein TensorFlow-SavedModel.

In der folgenden Tabelle werden die Versionsvorgänge zusammengefasst und die Schnittstellen aufgeführt, mit denen Sie die Vorgänge ausführen können:

Aktion Schnittstellen Notes
create projects.models.versions.create

Beim Erstellen einer Version wird ein SavedModel für AI Platform Prediction bereitgestellt. Weitere Informationen finden Sie im Leitfaden zur Modellbereitstellung.

gcloud ai-platform versions create
Version erstellen auf der Seite Modelldetails (Zugang über einen Link in der Liste Modelle).
Löschen projects.models.versions.delete

Das Löschen einer Version ist ein lang andauernder Vorgang.

Sie können die Standardversion eines Modells nur dann löschen, wenn sie die einzige dem Modell zugeordnete Version ist.

gcloud ai-platform versions delete
Löschen in der Liste der Versionen auf der Seite "Modelldetails".
get projects.models.versions.get

Die abgerufenen Informationen sind in der Referenz zur Ressource Version beschrieben.

gcloud ai-platform versions describe
Seite Versionsdetails (Zugang über einen Link in der Liste Versionen auf der Seite Modelldetails).
list projects.models.versions.list
gcloud ai-platform versions list
Liste der Versionen auf der Seite "Modelldetails".
setDefault projects.models.versions.setDefault

Dies ist die einzige Möglichkeit, einem Modell eine neue Standardversion zuzuordnen. Nach der ersten Version werden weitere erstellte Versionen nicht automatisch zur neuen Standardversion.

gcloud ai-platform versions set-default
Als Standard festlegen in der Liste der Versionen auf der Seite "Modelldetails"

Jobs verwalten

AI Platform Prediction unterstützt zwei Arten von Jobs: Training und Batchvorhersage. Die Details der einzelnen Jobs unterscheiden sich, der grundlegende Vorgang ist jedoch derselbe.

In der folgenden Tabelle werden die Jobvorgänge zusammengefasst und die Schnittstellen aufgeführt, mit denen Sie die Vorgänge ausführen können:

Aktion Schnittstellen Notes
create projects.jobs.create

Ausführliche Informationen zum Erstellen von Jobs finden Sie unter Training und Batchvorhersage.

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

Keine Konsolenimplementierung
cancel projects.jobs.cancel

Bricht einen laufenden Job ab

gcloud ai-platform jobs cancel

Abbrechen auf der Seite Jobdetails.
get projects.jobs.get Die abgerufenen Informationen sind in der Referenz zur Ressource Jobs beschrieben.

gcloud ai-platform jobs describe

Seite Jobdetails (Zugang über einen Link in der Liste Jobs).
list projects.jobs.list Es werden nur Jobs angezeigt, die in den letzten 90 Tagen erstellt wurden.

gcloud ai-platform jobs list

Liste Jobs.

Umgang mit asynchronen Vorgängen

Die meisten Ressourcen-Verwaltungsvorgänge für AI Platform Prediction liefern schnellstmöglich eine Rückgabe mit vollständiger Antwort. Allerdings gibt es zwei Arten von asynchronen Vorgängen, über die Sie Bescheid wissen sollten: Jobs und Vorgänge mit langer Laufzeit.

Wenn Sie einen asynchronen Vorgang starten, möchten Sie in der Regel wissen, wann dieser abgeschlossen ist. Das Abrufen des Status gestaltet sich bei Jobs und Vorgängen mit langer Ausführungszeit anders als gewohnt.

Status eines Jobs abrufen

Sie können projects.jobs.get verwenden, um den Status eines Jobs abzurufen. Diese Methode wird auch als gcloud ai-platform jobs describe und in der Google Cloud Console auf der Seite Jobs bereitgestellt. Unabhängig davon, wie Sie den Status abrufen, basieren die Informationen auf den Mitgliedern der Jobressource. Sie wissen, dass der Job abgeschlossen ist, wenn Job.state in der Antwort einem dieser Werte entspricht:

  • SUCCEEDED
  • FAILED
  • CANCELLED

Status eines Vorgangs mit langer Laufzeit abrufen

AI Platform Prediction hat drei lang andauernde Vorgänge:

  • Erstellen einer Version
  • Löschen eines Modells
  • Löschen einer Version

Von den Vorgängen mit langer Laufzeit dürften nur Versionserstellungen viel Zeit in Anspruch nehmen. Modelle und Versionen werden normalerweise nahezu in Echtzeit gelöscht.

Wenn Sie eine Version über die Google Cloud CLI oder die Google Cloud Console erstellen, werden Sie automatisch über die Benutzeroberfläche informiert, wenn der Vorgang abgeschlossen ist. Erfolgt die Versionserstellung mit der API, können Sie selbst den Status des Vorgangs verfolgen:

  1. Rufen Sie den vom Dienst zugewiesenen Vorgangsnamen aus dem Objekt Operation in der Antwort auf Ihren Aufruf von projects.models.versions.create ab. Der Schlüssel für den Namenwert ist "name".

  2. Verwenden Sie projects.operations.get, um den Status des Vorgangs periodisch abzufragen.

    1. Verwenden Sie den Vorgangsnamen aus dem ersten Schritt, um einen Namensstring nach folgendem Muster zu bilden:

      'projects/my_project/operations/operation_name'
      

      Die Antwortnachricht enthält das Objekt "Operation".

    2. Ruft den Wert für den Schlüssel "done" ab. Dies ist ein boolescher Indikator für den Vorgangsabschluss. Wenn er als "true" ausgewertet wird, ist der Vorgang abgeschlossen.

  3. Das Objekt "Operation" enthält einen von zwei Schlüsseln für den Abschluss:

    • Der Schlüssel "response" ist vorhanden, wenn der Vorgang erfolgreich war. Der Wert sollte "google.protobuf.Empty" lauten, da keiner der Vorgänge mit langer Ausführungszeit der AI Platform Prediction über Antwortobjekte verfügt.

    • Der Schlüssel "error" ist vorhanden, wenn ein Fehler aufgetreten ist. Sein Wert ist ein Objekt vom Typ "Status".

Nächste Schritte