Auf dieser Seite wird erläutert, wie Sie Ihr Modell in AI Platform Prediction bereitstellen, um Vorhersagen abzurufen.
So stellen Sie Ihr trainiertes Modell in AI Platform Prediction bereit:
- Laden Sie das gespeicherte Modell in einen Cloud Storage-Bucket hoch.
- Erstellen Sie eine AI Platform Prediction-Modellressource.
- Erstellen Sie eine AI Platform Prediction-Versionsressource und geben Sie den Cloud Storage-Pfad zu Ihrem gespeicherten Modell an.
Hinweis
Trainieren Sie Ihr Modell für maschinelles Lernen und befolgen Sie den Leitfaden zum Exportieren von Modellen für Vorhersagen, um Modellartefakte zu erstellen, die für AI Platform Prediction bereitgestellt werden können.
Modell in Cloud Storage speichern
Im Allgemeinen ist es am einfachsten, einen dedizierten Cloud Storage-Bucket in demselben Projekt zu verwenden, das Sie auch für AI Platform Prediction verwenden.
Wenn Sie einen Bucket in einem anderen Projekt verwenden, müssen Sie dafür sorgen, dass Ihr AI Platform Prediction-Dienstkonto auf das Modell in Cloud Storage zugreifen kann. Ohne die entsprechenden Berechtigungen schlägt die Anfrage zum Erstellen einer AI Platform Prediction-Modellversion fehl. Weitere Informationen zum Gewähren von Berechtigungen für Cloud Storage.
Cloud Storage-Bucket einrichten
In diesem Abschnitt erfahren Sie, wie Sie einen neuen Bucket erstellen. Sie können auch einen vorhandenen Bucket verwenden. Dieser muss sich aber in der Region befinden, in der Sie AI Platform-Jobs ausführen. Hinzu kommt: Wenn der Bucket nicht zu dem Projekt gehört, das Sie für die Ausführung von AI Platform Prediction verwenden, müssen Sie den AI Platform Prediction-Dienstkonten explizit Zugriff gewähren.
-
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"
Beispielsweise verwenden Sie den Projektnamen mit angehängtem
-aiplatform
:PROJECT_ID=$(gcloud config list project --format "value(core.project)") BUCKET_NAME=${PROJECT_ID}-aiplatform
-
Prüfen Sie den erstellten Bucketnamen.
echo $BUCKET_NAME
-
Wählen Sie eine Region für den Bucket aus und legen Sie eine Umgebungsvariable
REGION
fest.Verwenden Sie die Region, in der Sie auch AI Platform Prediction-Jobs ausführen möchten. Hier finden Sie die verfügbaren Regionen für AI Platform Prediction-Dienste.
Mit dem folgenden Code wird beispielsweise
REGION
erstellt und dafürus-central1
festgelegt:REGION=us-central1
-
Erstellen Sie den neuen Bucket:
gcloud storage buckets create gs://$BUCKET_NAME --location=$REGION
Exportiertes Modell in Cloud Storage hochladen
Die folgenden Beispiele zeigen, wie Sie verschiedene Arten von Modellartefakten in ein Modellverzeichnis in Cloud Storage hochladen:
TensorFlow SavedModel
SAVED_MODEL_DIR=$(ls ./YOUR_EXPORT_DIR_BASE | tail -1)
gcloud storage cp $SAVED_MODEL_DIR gs://YOUR_BUCKET --recursive
Wenn Sie ein SavedModel aus tf.keras
oder einem TensorFlow-Estimator exportieren, wird es in einem mit Zeitstempel versehenen Unterverzeichnis eines von Ihnen ausgewählten Basis-Exportverzeichnisses wie z. B. YOUR_EXPORT_DIR_BASE/1487877383942
gespeichert.
In diesem Beispiel wird gezeigt, wie Sie das Verzeichnis mit dem neuesten Zeitstempel hochladen.
Wenn Sie das SavedModel auf andere Weise erstellt haben, befindet es sich in Ihrem lokalen Dateisystem möglicherweise an einem anderen Speicherort.
scikit-learn- oder XGBoost-Modelldatei
Je nachdem, wie Sie das trainierte Modell exportiert haben, laden Sie die Datei model.joblib
, model.pkl
oder model.bst
hoch.
Das folgende Beispiel zeigt, wie Sie eine Datei hochladen, die von sklearn.externals.joblib
exportiert wurde:
gcloud storage cp ./model.joblib gs://YOUR_BUCKET/model.joblib
Das folgende Beispiel zeigt, wie Sie eine Datei hochladen, die mit dem Python-Modul pickle
exportiert wurde:
gcloud storage cp ./model.pkl gs://YOUR_BUCKET/model.pkl
Das folgende Beispiel zeigt, wie Sie eine Datei hochladen, die mit der Methode save_model
von xgboost.Booster
exportiert wurde:
gcloud storage cp ./model.bst gs://YOUR_BUCKET/model.bst
Wenn Sie eine benutzerdefinierte Vorhersageroutine (Beta) bereitstellen, laden Sie auch alle Modellartefakte in das Modellverzeichnis hoch.
Die Gesamtdateigröße der Dateien Ihres Modellverzeichnisses darf höchstens 500 MB betragen, wenn Sie einen Legacy-Maschinentyp (MLS1) verwenden, bzw. höchstens 10 GB, wenn Sie einen Compute Engine-Maschinentyp (N1) nutzen. Weitere Informationen über Maschinentypen für die Onlinevorhersage erhalten Sie unter Maschinentypen für die Onlinevorhersage auswählen.
Wenn Sie weitere Versionen Ihres Modells erstellen, müssen diese jeweils in einem eigenen Verzeichnis in Ihrem Cloud Storage-Bucket gespeichert werden.
Benutzerdefinierten Code hochladen
Wenn Sie eine scikit-learn-Pipeline mit benutzerdefiniertem Code oder eine benutzerdefinierte Vorhersageroutine bereitstellen, müssen Sie auch das Quelldistributionspaket mit Ihrem benutzerdefinierten Code hochladen. Beispiel:
gcloud storage cp dist/my_custom_code-0.1.tar.gz gs://YOUR_BUCKET/my_custom_code-0.1.tar.gz
Sie können dieses Tarball-Paket in dasselbe Verzeichnis in Cloud Storage hochladen wie Ihre Modelldatei, müssen dies jedoch nicht. Sie erhalten eine bessere Organisation, wenn Sie beide getrennt halten, besonders wenn Sie viele Versionen Ihres Modells und Codes bereitstellen.
Modell mit lokalen Vorhersagen testen
Mit dem Befehl gcloud ai-platform local predict
können Sie testen, wie das Modell Vorhersagen durchführt, bevor Sie es für AI Platform-Vorhersage bereitstellen. Der Befehl verwendet für Vorhersagen Abhängigkeiten in Ihrer lokalen Umgebung und gibt Ergebnisse im selben Format zurück, das gcloud ai-platform predict
für Onlinevorhersagen verwendet. Wenn Sie Vorhersagen in Ihrer lokalen Umgebung testen, können Sie Fehler erkennen und somit Kosten in Verbindung mit Anfragen für Onlinevorhersagen vermeiden.
Für das Argument --model-dir
geben Sie ein Verzeichnis an, das Ihr exportiertes Modell für maschinelles Lernen enthält und sich entweder auf Ihrem lokalen Computer oder in Cloud Storage befindet. Für das Argument --framework
geben Sie tensorflow
, scikit-learn
oder xgboost
an. Sie können den Befehl gcloud ai-platform local predict
nicht mit einer benutzerdefinierten Vorhersageroutine verwenden.
Das folgende Beispiel zeigt, wie lokale Vorhersagen durchgeführt werden:
gcloud ai-platform local predict --model-dir LOCAL_OR_CLOUD_STORAGE_PATH_TO_MODEL_DIRECTORY/ \
--json-instances LOCAL_PATH_TO_PREDICTION_INPUT.JSON \
--framework NAME_OF_FRAMEWORK
Modelle und Versionen bereitstellen
AI Platform Prediction verwaltet Ihre trainierten Modelle mithilfe von Modell- und Versionsressourcen. Ein AI Platform Prediction-Modell ist ein Container für die Versionen Ihres Modells für maschinelles Lernen.
Zum Bereitstellen eines Modells legen Sie eine Modellressource in AI Platform Prediction an, erstellen eine Version dieses Modells und verknüpfen dann die Modellversion mit der in Cloud Storage gespeicherten Modelldatei.
Modellressource erstellen
AI Platform Prediction verwendet Modellressourcen, um verschiedene Versionen Ihres Modells zu organisieren.
Sie müssen zu diesem Zeitpunkt entscheiden, ob Modellversionen, die zu diesem Modell gehören, einen regionalen Endpunkt oder den globalen Endpunkt verwenden sollen. In den meisten Fällen sollten Sie einen regionalen Endpunkt auswählen. Wenn Sie Funktionen benötigen, die nur auf Legacy-Maschinentypen (MLS1) verfügbar sind, verwenden Sie den globalen Endpunkt.
Sie müssen auch zu diesem Zeitpunkt entscheiden, ob die Modellversionen, die zu diesem Modell gehören, Logs bei der Bereitstellung von Vorhersagen exportieren sollen. In den folgenden Beispielen wird das Logging nicht aktiviert. Weitere Informationen zur Logging-Aktivierung
Konsole
Öffnen Sie in der Google Cloud Console die Seite AI Platform Prediction-Modelle:
Klicken Sie oben auf der Seite Modelle auf die Schaltfläche Neues Modell. Dadurch gelangen Sie auf die Seite Modell erstellen.
Geben Sie im Feld Modellname einen eindeutigen Namen für Ihr Modell ein.
Wenn das Kästchen Regionalen Endpunkt verwenden angeklickt ist, verwendet AI Platform Prediction einen regionalen Endpunkt. Wenn Sie stattdessen den globalen Endpunkt verwenden möchten, entfernen Sie das Häkchen aus dem Kästchen Regionalen Endpunkt verwenden.
Wählen Sie in der Drop-down-Liste Region einen Standort für Ihre Vorhersageknoten aus. Die verfügbaren Regionen unterscheiden sich je nachdem, ob Sie einen regionalen Endpunkt oder den globalen Endpunkt verwenden.
Klicken Sie auf Erstellen.
Achten Sie darauf, dass Sie wieder auf die Seite Modelle zurückgekehrt sind und Ihr neues Modell in der Liste angezeigt wird.
gcloud
Regionaler Endpunkt
Führen Sie diesen Befehl aus:
gcloud ai-platform models create MODEL_NAME \
--region=REGION
Ersetzen Sie Folgendes:
- MODEL_NAME: Name, den Sie für Ihr Modell auswählen.
- REGION: Die Region des regionalen Endpunkts, in dem Vorhersageknoten ausgeführt werden sollen. Dies muss eine Region sein, die Compute Engine-Maschinentypen (N1) unterstützt.
Wenn Sie das Flag --region
nicht angeben, werden Sie von der gcloud CLI aufgefordert, einen regionalen Endpunkt auszuwählen (oder us-central
auf dem globalen Endpunkt zu verwenden).
Alternativ können Sie das Attribut ai_platform/region
auf eine bestimmte Region festlegen, damit die gcloud CLI immer den entsprechenden regionalen Endpunkt für AI Platform Prediction verwendet, auch wenn Sie das Flag --region
nicht angeben. (Diese Konfiguration gilt nicht für Befehle in der Befehlsgruppe gcloud ai-platform operations
.)
Globaler Endpunkt
Führen Sie diesen Befehl aus:
gcloud ai-platform models create MODEL_NAME \
--regions=REGION
Ersetzen Sie Folgendes:
- MODEL_NAME: Name, den Sie für Ihr Modell auswählen.
- REGION: Region auf dem globalen Endpunkt, in der Vorhersageknoten ausgeführt werden sollen. Dies muss eine Region sein, die Legacy-Maschinentypen (MLS1) unterstützt.
Wenn Sie das Flag --regions
nicht angeben, werden Sie von der gcloud CLI aufgefordert, einen regionalen Endpunkt auszuwählen (oder us-central1
auf dem globalen Endpunkt zu verwenden).
REST API
Regionaler Endpunkt
Formatieren Sie die Anfrage, indem Sie das Modellobjekt in den Anfragetext einfügen. Geben Sie mindestens einen Namen für Ihr Modell an. Ersetzen Sie dazu MODEL_NAME in dem folgenden Beispiel:
{ "name": "MODEL_NAME" }
Machen Sie einen REST API-Aufruf an die folgende URL und ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID:
POST https://REGION-ml.googleapis.com/v1/projects/PROJECT_ID/models/
Dabei gilt:
REGION: Region des regionalen Endpunkts, für die das Modell bereitgestellt wird. Dies muss eine Region sein, die Compute Engine-Maschinentypen (N1) unterstützt.
PROJECT_ID: Ihre Google Cloud-Projekt-ID.
Sie können beispielsweise die folgende Anfrage mit dem Befehl
curl
stellen. Mit diesem Befehl wird die Anfrage mithilfe der Anmeldedaten autorisiert, die mit der Google Cloud CLI-Installation verknüpft sind.curl -X POST -H "Content-Type: application/json" \ -d '{"name": "MODEL_NAME"}' \ -H "Authorization: Bearer `gcloud auth print-access-token`" \ "https://REGION-ml.googleapis.com/v1/projects/PROJECT_ID/models"
Die API gibt in etwa folgende Antwort zurück:
{ "name": "projects/PROJECT_ID/models/MODEL_NAME", "regions": [ "REGION" ] }
Globaler Endpunkt
Formatieren Sie die Anfrage, indem Sie das Modellobjekt in den Anfragetext einfügen. Geben Sie mindestens einen Namen für Ihr Modell an. Ersetzen Sie dazu MODEL_NAME im folgenden Beispiel und geben Sie eine Region an, indem Sie REGION durch eine Region ersetzen, die Legacy-Maschinentypen (MLS1) unterstützt:
{ "name": "MODEL_NAME", "regions": ["REGION"] }
Machen Sie einen REST API-Aufruf an die folgende URL und ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID:
POST https://ml.googleapis.com/v1/projects/PROJECT_ID/models/
Sie können beispielsweise die folgende Anfrage mit dem Befehl
curl
stellen. Mit diesem Befehl wird die Anfrage mithilfe der Anmeldedaten autorisiert, die mit der Google Cloud CLI-Installation verknüpft sind.curl -X POST -H "Content-Type: application/json" \ -d '{"name": "MODEL_NAME", "regions": ["REGION"]}' \ -H "Authorization: Bearer `gcloud auth print-access-token`" \ "https://ml.googleapis.com/v1/projects/PROJECT_ID/models"
Die API gibt in etwa folgende Antwort zurück:
{ "name": "projects/PROJECT_ID/models/MODEL_NAME", "regions": [ "REGION" ] }
Weitere Informationen finden Sie in der API für AI Platform Prediction-Modelle.
Modellversionen erstellen
Jetzt können Sie mit dem trainierten und zuvor in Cloud Storage hochgeladenen Modell eine Modellversion erstellen. Beim Erstellen einer Version können Sie eine Reihe von Parametern angeben. In der folgenden Liste werden allgemeine Parameter beschrieben, von denen einige erforderlich sind:
name
: Muss innerhalb des AI Platform Prediction-Modells einmalig sein.deploymentUri
: Der Pfad zu Ihrem Modellverzeichnis in Cloud Storage.- Wenn Sie ein TensorFlow-Modell bereitstellen, ist dies ein SavedModel-Verzeichnis.
- Wenn Sie ein scikit-learn- oder XGBoost-Modell bereitstellen, ist dies das Verzeichnis, in dem sich die Datei
model.joblib
,model.pkl
odermodel.bst
befindet. - Wenn Sie eine benutzerdefinierte Vorhersageroutine bereitstellen, ist dies das Verzeichnis, in dem sich alle Modellartefakte befinden. Die Gesamtgröße dieses Verzeichnisses darf maximal 500 MB betragen.
framework
:TENSORFLOW
,SCIKIT_LEARN
oderXGBOOST
. Lassen Sie diesen Parameter weg, wenn Sie eine benutzerdefinierte Vorhersageroutine bereitstellen.runtimeVersion
: Eine Laufzeitversion auf der Basis der Abhängigkeiten, die Ihr Modell benötigt. Wenn Sie ein scikit-learn-Modell, ein XGBoost-Modell oder eine benutzerdefinierte Vorhersageroutine bereitstellen, muss mindestens Version 1.4 verwendet werden. Wenn Sie die Modellversion für die Batchvorhersage verwenden möchten, müssen Sie die Laufzeitversion 2.1 oder früher verwenden.packageUris
(optional): Eine Liste der Pfade zu Ihren benutzerdefinierten Code-Distributionspaketen (.tar.gz
-Dateien) in Cloud Storage. Geben Sie diesen Parameter nur an, wenn Sie eine scikit-learn-Pipeline mit benutzerdefiniertem Code (Beta) oder eine benutzerdefinierte Vorhersageroutine (Beta) bereitstellen.predictionClass
(optional): Der Name der Predictor-Klasse im Formatmodule_name.class_name
. Geben Sie diesen Parameter nur an, wenn Sie eine benutzerdefinierte Vorhersageroutine (Beta) bereitstellen.serviceAccount
(optional): Sie können ein Dienstkonto für Ihre Modellversion angeben, das beim Zugreifen auf Google Cloud-Ressourcen für Vorhersagen verwendet werden soll. Weitere Informationen finden Sie unter Dienstkonto für Modellversion angeben. Geben Sie diesen Parameter nur an, wenn Sie einen benutzerdefinierten Container oder eine benutzerdefinierte Vorhersageroutine verwenden.pythonVersion
: Muss auf "3.5" (für Laufzeitversionen 1.4 bis 1.14) oder "3.7" festgelegt sein (für Laufzeitversionen 1.15 und höher), um mit von Python 3 exportierten Modelldateien kompatibel zu sein. Kann bei Laufzeitversion 1.15 oder früher auch auf "2.7" festgelegt werden.machineType
(optional): Der Typ der virtuellen Maschine, den AI Platform-Vorhersage für die Knoten verwendet, die Vorhersagen bereitstellen. Weitere Informationen zu Maschinentypen Wenn nicht festgelegt, wird für regionale Endpunkte standardmäßign1-standard-2
und für den globalen Endpunktmls1-c1-m2
verwendet.
Weitere Informationen zu jedem dieser Parameter sowie zu zusätzlichen weniger gebräuchlichen Parametern finden Sie in der API-Referenz für die Versionsressource.
Wenn Sie Ihr Modell darüber hinaus an einem regionalen Endpunkt erstellt haben, müssen Sie die Version auch an demselben regionalen Endpunkt erstellen.
Konsole
Öffnen Sie in der Google Cloud Console die Seite AI Platform Prediction-Modelle:
Wählen Sie auf der Seite Modelle den Namen der Modellressource aus, die Sie zur Erstellung der Version verwenden möchten. Dadurch gelangen Sie auf die Seite Modelldetails.
Klicken Sie oben auf der Seite Modelldetails auf die Schaltfläche Neue Version. Dadurch gelangen Sie auf die Seite Version erstellen.
Geben Sie in das Feld Name den Versionsnamen ein. Geben Sie optional in das Feld Beschreibung eine Beschreibung für die Version ein.
Geben Sie die Informationen über das Training des Modells in den entsprechenden Drop-down-Menüs ein:
- Wählen Sie die zum Training Ihres Modells verwendete Python-Version aus.
- Wählen Sie das Framework und die Framework-Version aus. Wenn Sie eine benutzerdefinierte Vorhersageroutine (Beta) bereitstellen, wählen Sie für das Framework "Benutzerdefinierte Vorhersageroutine (BETA)" aus.
- Wählen Sie die ML-Laufzeitversion aus. Weitere Informationen zu AI Platform Prediction-Laufzeitversionen finden Sie hier.
Wählen Sie einen Maschinentyp für die Onlinevorhersage aus.
Geben Sie im Feld Modell-URI den Standort des Cloud Storage-Buckets ein, in den Sie die Modelldatei hochgeladen haben. Mit der Schaltfläche Durchsuchen können Sie den richtigen Pfad suchen.
Achten Sie darauf, dass Sie den Pfad zu dem Verzeichnis angeben, das die Datei enthält, und nicht den Pfad zur Modelldatei selbst. Verwenden Sie z. B.
gs://your_bucket_name/model-dir/
stattgs://your_bucket_name/model-dir/saved_model.pb
odergs://your_bucket_name/model-dir/model.pkl
.Wenn Sie eine scikit-learn-Pipeline mit benutzerdefiniertem Code (Beta) oder eine benutzerdefinierte Vorhersageroutine (Beta) bereitstellen, geben Sie unter Benutzerdefinierte Codes und Abhängigkeiten den Cloud Storage-Pfad für benutzerdefinierte Codepakete (
.tar.gz
) an. Wenn Sie eine benutzerdefinierte Vorhersageroutine bereitstellen, geben Sie im Feld Vorhersageklasse den Namen der Predictor-Klasse ein.Wählen Sie zum Bereitstellen der Onlinevorhersage eine Skalierungsoption aus:
Wenn Sie "Automatische Skalierung" auswählen, wird das optionale Feld Mindestanzahl von Knoten angezeigt. Geben Sie hier die Mindestanzahl der Knoten ein, die auch dann jederzeit aktiv bleiben sollen, wenn der Dienst herunterskaliert wurde.
Wenn Sie "Manuelle Skalierung" auswählen, geben Sie die Anzahl der Knoten ein, die ständig ausgeführt werden sollen.
Weitere Informationen zu den Skalierungsoptionen je nach Maschinentyp
Weitere Informationen finden Sie unter Preise für Vorhersagen.
Zum Erstellen Ihrer Modellversion klicken Sie auf Speichern.
gcloud
Legen Sie Umgebungsvariablen für den Pfad zum Cloud Storage-Verzeichnis mit der Modellbinärdatei sowie für den Versionsnamen, den Modellnamen und das von Ihnen gewählte Framework fest.
Wenn Sie eine Version mit der gcloud CLI erstellen, geben Sie den Framework-Namen in Großbuchstaben mit Unterstrichen (z. B.
SCIKIT_LEARN
) oder in Kleinbuchstaben mit Bindestrichen (z. B.scikit-learn
) an. Beide Optionen führen zu identischem Verhalten.Ersetzen Sie
[VALUES_IN_BRACKETS]
dabei durch die entsprechenden Werte:MODEL_DIR="gs://your_bucket_name/" VERSION_NAME="[YOUR-VERSION-NAME]" MODEL_NAME="[YOUR-MODEL-NAME]" FRAMEWORK="[YOUR-FRAMEWORK_NAME]"
Für eine scikit-learn-Pipeline mit benutzerdefiniertem Code (Beta) legen Sie eine zusätzliche Variable mit dem Pfad zu Ihrem benutzerdefinierten Code-Tarball fest:
MODEL_DIR="gs://your_bucket_name/" VERSION_NAME="[YOUR-VERSION-NAME]" MODEL_NAME="[YOUR-MODEL-NAME]" FRAMEWORK="scikit-learn" CUSTOM_CODE_PATH="gs://your_bucket_name/my_custom_code-0.1.tar.gz"
Für eine benutzerdefinierte Vorhersageroutine (Beta) lassen Sie die Variable
FRAMEWORK
weg und legen zusätzliche Variablen mit dem Pfad zu Ihrem benutzerdefinierten Code-Tarball und mit dem Namen Ihrer Predictor-Klasse fest:MODEL_DIR="gs://your_bucket_name/" VERSION_NAME="[YOUR-VERSION-NAME]" MODEL_NAME="[YOUR-MODEL-NAME]" CUSTOM_CODE_PATH="gs://your_bucket_name/my_custom_code-0.1.tar.gz" PREDICTOR_CLASS="[MODULE_NAME].[CLASS_NAME]"
Erstellen Sie die Version:
gcloud ai-platform versions create $VERSION_NAME \ --model=$MODEL_NAME \ --origin=$MODEL_DIR \ --runtime-version=2.11 \ --framework=$FRAMEWORK \ --python-version=3.7 \ --region=REGION \ --machine-type=MACHINE_TYPE
Dabei gilt:
REGION: Die Region des regionalen Endpunkts, für die Sie das Modell erstellt haben. Wenn Sie das Modell auf dem globalen Endpunkt erstellt haben, lassen Sie das Flag
--region
aus.MACHINE_TYPE: Ein Maschinentyp, der bestimmt, welche Rechenressourcen für Ihre Vorhersageknoten verfügbar sind.
Für eine scikit-learn-Pipeline mit benutzerdefiniertem Code (Beta) verwenden Sie die Komponente
gcloud beta
und legen das Flag--package-uris
fest. Um benutzerdefinierten Code bereitstellen zu können, muss das Modell den globalen Endpunkt verwenden.gcloud components install beta gcloud beta ai-platform versions create $VERSION_NAME \ --model=$MODEL_NAME \ --origin=$MODEL_DIR \ --runtime-version=2.11 \ --framework=$FRAMEWORK \ --python-version=3.7 \ --machine-type=mls1-c1-m2 \ --package-uris=$CUSTOM_CODE_PATH
Für eine benutzerdefinierte Vorhersageroutine (Beta) verwenden Sie die Komponente
gcloud beta
, lassen das Flag--framework
weg und legen die Flags--package-uris
und--prediction-class
fest. Um benutzerdefinierten Code bereitstellen zu können, muss das Modell den globalen Endpunkt verwenden.gcloud components install beta gcloud beta ai-platform versions create $VERSION_NAME \ --model=$MODEL_NAME \ --origin=$MODEL_DIR \ --runtime-version=2.11 \ --python-version=3.7 \ --machine-type=mls1-c1-m2 \ --package-uris=$CUSTOM_CODE_PATH \ --prediction-class=$PREDICTOR_CLASS
Das Erstellen der Version dauert einige Minuten. Wenn sie fertig ist, sollten Sie die folgende Ausgabe sehen:
Creating version (this might take a few minutes)......done.
Rufen Sie Informationen über Ihre neue Version ab:
gcloud ai-platform versions describe $VERSION_NAME \ --model=$MODEL_NAME
Die Ausgabe sollte etwa so aussehen:
createTime: '2018-02-28T16:30:45Z' deploymentUri: gs://your_bucket_name framework: [YOUR-FRAMEWORK-NAME] machineType: mls1-c1-m2 name: projects/[YOUR-PROJECT-ID]/models/[YOUR-MODEL-NAME]/versions/[YOUR-VERSION-NAME] pythonVersion: '3.7' runtimeVersion: '2.11' state: READY
REST API
Formatieren Sie Ihren Anfragetext so, dass das Versionsobjekt enthalten ist. In diesem Beispiel werden
name
,deploymentUri
,runtimeVersion
,framework
undmachineType
der Version angegeben. Ersetzen Sie[VALUES_IN_BRACKETS]
dabei durch die entsprechenden Werte:{ "name": "[YOUR-VERSION-NAME]", "deploymentUri": "gs://your_bucket_name/", "runtimeVersion": "2.11", "framework": "[YOUR_FRAMEWORK_NAME]", "pythonVersion": "3.7", "machineType": "[YOUR_MACHINE_TYPE]" }
Senden Sie den REST API-Aufruf an den folgenden Pfad und ersetzen Sie
[VALUES_IN_BRACKETS]
dabei durch die entsprechenden Werte:POST https://REGION-ml.googleapis.com/v1/projects/[YOUR-PROJECT-ID]/models/[YOUR-MODEL-NAME]/versions
Ersetzen Sie REGION durch die Region des regionalen Endpunkts, in dem Sie Ihr Modell erstellt haben. Wenn Sie Ihr Modell auf dem globalen Endpunkt erstellt haben, verwenden Sie
ml.googleapis.com
.Sie können beispielsweise die folgende Anfrage mit dem Befehl
curl
stellen:curl -X POST -H "Content-Type: application/json" \ -d '{"name": "[YOUR-VERSION-NAME]", "deploymentUri": "gs://your_bucket_name/", "runtimeVersion": "2.11", "framework": "[YOUR_FRAMEWORK_NAME]", "pythonVersion": "3.7", "machineType": "[YOUR_MACHINE_TYPE]"}' \ -H "Authorization: Bearer `gcloud auth print-access-token`" \ "https://REGION-ml.googleapis.com/v1/projects/[YOUR-PROJECT-ID]/models/[YOUR-MODEL-NAME]/versions"
Das Erstellen der Version dauert einige Minuten. Wenn sie fertig ist, sollte die Ausgabe in etwa so aussehen:
{ "name": "projects/[YOUR-PROJECT-ID]/operations/create_[YOUR-MODEL-NAME]_[YOUR-VERSION-NAME]-[TIMESTAMP]", "metadata": { "@type": "type.googleapis.com/google.cloud.ml.v1.OperationMetadata", "createTime": "2018-07-07T02:51:50Z", "operationType": "CREATE_VERSION", "modelName": "projects/[YOUR-PROJECT-ID]/models/[YOUR-MODEL-NAME]", "version": { "name": "projects/[YOUR-PROJECT-ID]/models/[YOUR-MODEL-NAME]/versions/[YOUR-VERSION-NAME]", "deploymentUri": "gs://your_bucket_name", "createTime": "2018-07-07T02:51:49Z", "runtimeVersion": "2.11", "framework": "[YOUR_FRAMEWORK_NAME]", "machineType": "[YOUR_MACHINE_TYPE]", "pythonVersion": "3.7" } } }