Mit Cloud Storage arbeiten

AI Platform liest Daten aus Cloud Storage-Standorten, denen Sie Zugriff auf Ihr AI Platform-Projekt gewährt haben. Diese Seite enthält eine Kurzanleitung zur Verwendung von Cloud Storage mit AI Platform.

Übersicht

Bei folgenden Aspekten der AI Platform-Dienste wird die Verwendung von Cloud Storage empfohlen oder ist gar erforderlich:

Schulung

  • Bereitstellung Ihrer Trainingsanwendung und benutzerdefinierten Abhängigkeiten.
  • Speicherung Ihrer Trainingseingabedaten.
  • Speicherung Ihrer Trainingsausgabedaten.

Vorhersagen

Batchvorhersage

  • Speicherung Ihrer Eingabedateien für die Batchvorhersage.
  • Speicherung Ihrer Batchvorhersageausgabe.

Hinweise zu Regionen

Wenn Sie einen Cloud Storage-Bucket zur Verwendung mit AI Platform 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.

Erfahren Sie mehr über die verfügbaren Regionen der AI Platform.

Cloud Storage-Buckets einrichten

In diesem Abschnitt erfahren Sie, 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 den AI Platform-Dienstkonten explizit Zugriff darauf 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.

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 Ihres 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 Ihre Modellversion während der Verarbeitung von Vorhersagen aus jedem Cloud Storage-Bucket im selben Projekt lesen.

Verwenden Sie in Ihrem benutzerdefinierten Vorhersagecode ein Python-Modul, das aus Cloud Storage lesen kann, z. B. der Python-Client für Google Cloud Storage, das Modul tf.gfile von TensorFlow oder pandas ab Version 0.24.0. Die Authentifizierung erfolgt über AI Platform.

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 auf sie zugreifen kann.

Wenn Sie Ihren Cloud Storage-Bucket im selben Projekt einrichten, in dem Sie AI Platform verwenden, verfügen Ihre AI Platform-Dienstkonten bereits über die erforderlichen Berechtigungen, um auf Ihren Cloud Storage-Bucket zugreifen zu können.

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 verwenden, müssen Sie jedem einzelnen Zugriff auf die AI Platform-Dienstkonten gewähren.

Schritt 1: Erforderliche Informationen aus Ihrem Cloudprojekt abrufen

Konsole

  1. Öffnen Sie die IAM-Seite in der Google Cloud Platform Console.

    Seite "IAM" öffnen

  2. Die Seite "IAM" enthält eine Liste aller Mitglieder in Ihrem Projekt und der zugehörigen Rollen. Ihr AI Platform-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 so 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 GCP Console einfügen.

Befehlszeile

Die Schritte in diesem Abschnitt enthalten Informationen zu Ihrem Google Cloud Platform-Projekt, mit denen Sie die Zugriffssteuerung für das AI Platform-Dienstkonto Ihres Projekts ändern können. Sie müssen die Werte für eine spätere Verwendung in Umgebungsvariablen speichern.

  1. Rufen Sie mithilfe des gcloud-Befehlszeilentools beim ausgewählten Projekt Ihre Projekt-ID ab:

    PROJECT_ID=$(gcloud config list project --format "value(core.project)")
    
  2. Rufen Sie mithilfe von gcloud das Zugriffstoken für Ihr Projekt ab:

    AUTH_TOKEN=$(gcloud auth print-access-token)
    
  3. 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 \
        | python -c "import json; import sys; response = json.load(sys.stdin); \
        print response['serviceAccount']")
    

Schritt 2: Zugriff auf Ihren Cloud Storage-Bucket konfigurieren

Console

  1. Öffnen Sie in der GCP Console die Seite "Storage".

    Seite "Storage" öffnen

  2. 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.

  3. Klicken Sie oben rechts auf Infofeld anzeigen, um den Tab "Berechtigungen" aufzurufen.

  4. Fügen Sie in das Feld Mitglieder 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 Mitglieder hinzufügen angezeigt werden. Dabei enthält jede Rolle eine kurze Beschreibung ihrer Berechtigungen.

  5. Klicken Sie rechts neben dem Feld Mitglieder 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.

  1. Geben Sie den Namen Ihres Buckets in einer Umgebungsvariable namens BUCKET_NAME an:

    BUCKET_NAME="your_bucket_name"
    
  2. Gewähren Sie dem Dienstkonto Lesezugriff auf Ihren Cloud Storage-Bucket:

    gsutil -m defacl ch -u $SVC_ACCOUNT:R gs://$BUCKET_NAME
    
  3. Wenn Ihr Bucket bereits Objekte enthält, auf die Sie zugreifen möchten, müssen Sie diesen explizit den Lesezugriff gewähren:

    gsutil -m acl ch -u $SVC_ACCOUNT:R -r gs://$BUCKET_NAME
    
  4. Weisen Sie einen Schreibzugriff zu:

    gsutil -m acl ch -u $SVC_ACCOUNT:W gs://$BUCKET_NAME
    

Informationen zum Auswählen einer Rolle für Ihr AI Platform-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.

Weitere Informationen

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

Feedback geben zu...