AI Platform Prediction liest Daten aus Cloud Storage-Speicherorten, für die Sie Ihrem AI Platform Prediction-Projekt Zugriff gewährt haben. Diese Seite enthält eine Kurzanleitung zur Verwendung von Cloud Storage mit AI Platform Prediction.
Übersicht
Bei folgenden Aspekten der AI Platform Prediction-Dienste wird die Verwendung von Cloud Storage empfohlen oder ist sogar erforderlich:
Onlinevorhersage
- Speichern Ihres gespeicherten Modells, um daraus eine Modellversion zu erstellen.
- Speichern von benutzerdefiniertem Code zur Verarbeitung von Vorhersageanfragen, wenn Sie eine benutzerdefinierte Vorhersageroutine (Beta) oder eine scikit-learn-Pipeline mit benutzerdefiniertem Code (Beta) verwenden.
- Speicherung zusätzlicher Daten für Ihren benutzerdefinierten Code für den Zugriff, wenn Vorhersagen getroffen werden.
Batchvorhersage
- Speicherung Ihrer Eingabedateien für die Batchvorhersage.
- Speicherung Ihrer Batchvorhersageausgabe.
- Speicherung Ihres Modells, wenn Sie die Batchvorhersage verwenden, ohne das Modell zuerst in AI Platform Prediction bereitzustellen.
Hinweise zu Regionen
Wenn Sie einen Cloud Storage-Bucket für AI Platform Prediction erstellen, sollten Sie Folgendes tun:
- Weisen Sie diesen Bucket einer bestimmten Berechnungsregion zu und verwenden Sie keinen Mehrfachregionenwert.
- Verwenden Sie dieselbe Region, in der Sie Ihre Trainingsjobs ausführen.
Weitere Informationen zu den verfügbaren AI Platform Prediction-Regionen
Cloud Storage-Buckets 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
Modelle in Buckets organisieren
Organisieren Sie die Ordnerstruktur in Ihrem Bucket so, dass viele Iterationen Ihres Modells möglich sind.
- Platzieren Sie innerhalb des Buckets jedes gespeicherte Modell in einem separaten Verzeichnis.
- Verwenden Sie Zeitstempel, um die Verzeichnisse in Ihrem Bucket zu benennen.
Sie können Ihr erstes Modell beispielsweise so wie in gs://your-bucket/your-model-DATE1/your-saved-model-file
strukturieren. Verwenden Sie einen aktualisierten Zeitstempel (gs://your-bucket/your-model-DATE2/your-saved-model-file
und so weiter), um die Verzeichnisse für jede nachfolgende Iteration des Modells zu benennen.
Während der Vorhersage auf Cloud Storage zugreifen
Wenn Sie eine benutzerdefinierte Vorhersageroutine (Beta) oder eine scikit-learn-Pipeline mit benutzerdefiniertem Code (Beta) bereitstellen, kann die Modellversion während der Verarbeitung von Vorhersagen aus jedem Cloud Storage-Bucket im selben Projekt lesen.
Verwenden Sie ein Python-Modul, das in Ihrem benutzerdefinierten
Vorhersagecode wie den Python-Client für Google Cloud
Speicher
TensorFlow
tf.io.gfile.GFile
Modul oder pandas
0.24.0 oder höher. Die Authentifizierung erfolgt über AI Platform Prediction.
Sie können auch ein Dienstkonto angeben, wenn Sie Ihre benutzerdefinierte Vorhersageroutine bereitstellen. Damit können Sie anpassen, auf welche Cloud Storage-Ressourcen die Bereitstellung zugreifen kann.
Cloud Storage-Bucket aus einem anderen Projekt verwenden
In diesem Abschnitt wird beschrieben, wie Cloud Storage-Buckets außerhalb Ihres Projekts konfiguriert werden, sodass AI Platform Prediction auf sie zugreifen kann.
Wenn Sie Ihren Cloud Storage-Bucket im selben Projekt einrichten, in dem Sie AI Platform Prediction verwenden, haben Ihre AI Platform Prediction-Dienstkonten bereits die erforderlichen Berechtigungen für den Zugriff auf den Cloud Storage-Bucket.
Diese Anleitungen beziehen sich auf folgende Fälle:
- Sie können keinen Bucket aus Ihrem Projekt nutzen, z. B. wenn ein großes Dataset von mehreren Projekten verwendet wird.
- Wenn Sie mehrere Buckets mit AI Platform Prediction verwenden, müssen Sie jedem einzelnen Zugriff auf die AI Platform Prediction-Dienstkonten gewähren.
Schritt 1: Erforderliche Informationen aus Ihrem Cloudprojekt abrufen
Console
Öffnen Sie in der Google Cloud Console die Seite IAM.
Die Seite „IAM“ zeigt eine Liste aller Hauptkonten an, die Zugriff auf Ihr Projekt haben, sowie die zugehörigen Rollen. Ihr AI Platform Prediction-Projekt hat mehrere Dienstkonten. Suchen Sie in der Liste das Dienstkonto mit der Rolle Cloud ML-Dienst-Agent und kopieren Sie die entsprechende Dienstkonto-ID, die in etwa folgendermaßen aussieht:
„service-111111111111@cloud-ml.google.com.iam.gserviceaccount.com“.
Sie müssen diese Dienstkonto-ID bei den nächsten Schritten in eine andere Seite der Google Cloud Console einfügen.
Befehlszeile
In den in diesem Abschnitt beschriebenen Schritten erhalten Sie Informationen zu Ihrem Google Cloud-Projekt, die Sie benötigen, um die Zugriffssteuerung für das AI Platform Prediction-Dienstkonto Ihres Projekts zu ändern. Sie müssen die Werte für eine spätere Verwendung in Umgebungsvariablen speichern.
Rufen Sie Ihre Projekt-ID ab, indem Sie die Google Cloud CLI verwenden und Ihr Projekt auswählen:
PROJECT_ID=$(gcloud config list project --format "value(core.project)")
Rufen Sie mithilfe von
gcloud
das Zugriffstoken für Ihr Projekt ab:AUTH_TOKEN=$(gcloud auth print-access-token)
Rufen Sie die Dienstkontoinformationen ab, indem Sie vom REST-Dienst die Projektkonfiguration anfordern:
SVC_ACCOUNT=$(curl -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $AUTH_TOKEN" \ https://ml.googleapis.com/v1/projects/${PROJECT_ID}:getConfig \ | python3 -c "import json; import sys; response = json.load(sys.stdin); \ print(response['serviceAccount'])")
Schritt 2: Zugriff auf Ihren Cloud Storage-Bucket konfigurieren
Console
Öffnen Sie in der Google Cloud Console die Seite „Speicher”.
Wählen Sie den Cloud Storage-Bucket aus, den Sie zum Bereitstellen von Modellen verwenden, indem Sie das Kästchen links neben dem Bucket-Namen anklicken.
Klicken Sie oben rechts auf Infofeld anzeigen, um den Tab "Berechtigungen" aufzurufen.
Fügen Sie in das Feld Hauptkonten hinzufügen die Dienstkonto-ID ein. Wählen Sie rechts neben diesem Feld die gewünschte(n) Rolle(n) aus, z. B. "Leser alter Storage-Buckets".
Wenn noch nicht klar ist, welche Rollen verwendet werden sollen, können Sie mehrere Rollen auswählen, damit sie unter dem Feld Hauptkonten hinzufügen angezeigt werden. Dabei enthält jede Rolle eine kurze Beschreibung ihrer Berechtigungen.
Klicken Sie rechts neben dem Feld Hauptkonten hinzufügen auf Hinzufügen, um dem Dienstkonto die gewünschte(n) Rolle(n) zuzuweisen.
Befehlszeile
Nachdem Ihnen jetzt die Projekt- und Dienstkontoinformationen vorliegen, müssen Sie die Zugriffsberechtigungen für den Cloud Storage-Bucket aktualisieren. In den folgenden Schritten werden die gleichen Variablennamen wie im vorherigen Abschnitt verwendet.
Geben Sie den Namen Ihres Buckets in einer Umgebungsvariable namens
BUCKET_NAME
an:BUCKET_NAME="your_bucket_name"
Gewähren Sie dem Dienstkonto Lesezugriff auf Objekte in Ihrem Cloud Storage-Bucket:
gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectReader
Weisen Sie einen Schreibzugriff zu:
gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectWriter
Informationen zum Auswählen einer Rolle für Ihr AI Platform Prediction-Dienstkonto finden Sie unter Cloud Storage-IAM-Rollen. Allgemeine Informationen zum Aktualisieren von IAM-Rollen in Cloud Storage erhalten Sie unter Dienstkonto Zugriff auf eine Ressource gewähren.
Nächste Schritte
- Startleitfaden durcharbeiten, um AI Platform Prediction in Aktion zu erleben
- Mehr über die Funktionsweise von AI Platform erfahren
- Mehr zur Funktionsweise von AI Platform Prediction erfahren