Mask RCNN in Cloud TPU trainieren

Übersicht

In dieser Anleitung wird erläutert, wie Sie das Mask RCNN-Modell mit Cloud TPU mit dem COCO-Dataset ausführen.

Mask RCNN ist ein neuronales Deep-Learning-Netzwerk, das für die Objekterkennung und Bildsegmentierung entwickelt wurde, eine der komplexeren Herausforderungen beim maschinellen Sehen.

Das Mask RCNN-Modell generiert Begrenzungsrahmen und Segmentierungsmasken für jede Instanz eines Objekts im Bild. Das Modell basiert auf dem Feature Pyramid Network (FPN) und einem ResNet50 neuronales Netzwerk.

In dieser Anleitung wird das Modell mit tf.contrib.tpu.TPUEstimator trainiert. Die TPUEstimator API ist eine übergeordnete TensorFlow API und die empfohlene Methode zum Erstellen und Ausführen eines Modells für maschinelles Lernen auf Cloud TPU. Die API vereinfacht den Modellentwicklungsprozess. Sie blendet die meisten Implementierungen auf untergeordneter Ebene aus, wodurch leichter zwischen der TPU und anderen Plattformen wie GPUs oder CPUs gewechselt werden kann.

Ziele

  • Cloud Storage-Bucket zum Speichern der Dataset- und Modellausgabe erstellen
  • COCO-Dataset vorbereiten
  • Compute Engine-VM und einen Cloud TPU-Knoten für das Training und die Bewertung einrichten
  • Training und Bewertung auf einer einzelnen Cloud TPU oder einem Cloud TPU Pod ausführen

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:

  • Compute Engine
  • Cloud TPU
  • Cloud Storage

Sie können mithilfe des Preisrechners die Kosten für Ihre voraussichtliche Nutzung kalkulieren. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweise

Bevor Sie mit dieser Anleitung beginnen, prüfen Sie, ob Ihr Google Cloud-Projekt ordnungsgemäß eingerichtet ist.

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  6. In dieser Anleitung werden kostenpflichtige Komponenten der Google Cloud verwendet. Rufen Sie die Seite mit den Cloud TPU-Preisen auf, um Ihre Kosten abzuschätzen. Denken Sie daran, nicht mehr benötigte Ressourcen zu bereinigen, um unnötige Kosten zu vermeiden.

Wenn Sie auf einem TPU Pod-Slice trainieren möchten, lesen Sie Auf TPU Pods trainieren, um mehr über Parameteränderungen für Pod-Slices zu erfahren.

Ressourcen einrichten

Dieser Abschnitt enthält Informationen zur Einrichtung von Cloud Storage-, VM- und Cloud TPU-Ressourcen für diese Anleitung.

  1. Öffnen Sie ein Cloud Shell-Fenster.

    Zu Cloud Shell

  2. Erstellen Sie eine Umgebungsvariable für die Projekt-ID.

    export PROJECT_ID=project-id
  3. Konfigurieren Sie das gcloud - Befehlszeilentool für die Verwendung des Projekts, in dem Sie die Cloud TPU erstellen möchten.

    gcloud config set project ${PROJECT_ID}
    

    Wenn Sie diesen Befehl zum ersten Mal in einer neuen Cloud Shell-VM ausführen, wird die Seite Authorize Cloud Shell angezeigt. Klicken Sie auf Authorize unten auf der Seite, um es gcloud zu erlauben, GCP API-Aufrufe mit Ihren Anmeldedaten durchzuführen.

  4. Erstellen Sie ein Dienstkonto für das Cloud TPU-Projekt.

    gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
    

    Der Befehl gibt ein Cloud TPU-Dienstkonto im folgenden Format zurück:

    service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
    

  5. Erstellen Sie mit dem folgenden Befehl einen Cloud Storage-Bucket:

    gsutil mb -p ${PROJECT_ID} -c standard -l europe-west4 -b on gs://bucket-name
    

    Dieser Cloud Storage-Bucket speichert die Daten, die Sie zum Trainieren Ihres Modells verwenden, und die Trainingsergebnisse. Mit dem Befehl gcloud compute tpus execution-groups in dieser Anleitung werden Standardberechtigungen für das Cloud TPU-Dienstkonto eingerichtet. Wenn Sie weitere Berechtigungen benötigen, können Sie die Berechtigungen auf Zugriffsebene anpassen.

    Der Bucket-Speicherort muss sich in derselben Region wie die virtuelle Maschine (VM) und der TPU-Knoten befinden. VMs und TPU-Knoten befinden sich in bestimmten Zonen, die Untergruppen innerhalb einer Region sind.

  6. Starten Sie die für diese Anleitung erforderlichen Compute Engine- und Cloud TPU-Ressourcen mit dem Befehl gcloud compute tpus execution-groups.

    gcloud compute tpus execution-groups create \
     --vm-only \
     --name=mask-rcnn-tutorial \
     --zone=europe-west4-a \
     --disk-size=300 \
     --machine-type=n1-standard-8 \
     --tf-version=1.15.5
    

    Beschreibung der Befehls-Flags

    vm-only
    Erstellen Sie nur die Compute Engine-VM, aber keine Cloud TPU.
    name
    Der Name der zu erstellenden Cloud TPU.
    zone
    Die Zone, in der Sie die Cloud TPU erstellen möchten.
    disk-size
    Die Größe des Laufwerks in GB der VM, die mit dem Befehl gcloud erstellt wurde.
    machine-type
    Der Maschinentyp der zu erstellenden Compute Engine-VM.
    tf-version
    Die Version von Tensorflow, die von gcloud auf der VM installiert wird.
  7. Die von Ihnen angegebene Konfiguration wird angezeigt. Geben Sie y zum Bestätigen oder n zum Abbrechen ein.

  8. Wenn der Befehl gcloud compute tpus execution-groups ausgeführt wurde, sollten Sie prüfen, ob die Shell-Eingabeaufforderung von username@projectname in username@vm-name geändert wurde. Diese Änderung bedeutet, dass Sie jetzt bei Ihrer Compute Engine-VM angemeldet sind.

    gcloud compute ssh mask-rcnn-tutorial --zone=europe-west4-a
    

    Führen Sie im weiteren Verlauf dieser Anleitung jeden Befehl, der mit (vm)$ beginnt, in Ihrem VM-Sitzungsfenster aus.

Zusätzliche Pakete installieren

Die Mask RCNN-Trainingsanwendung erfordert mehrere zusätzliche Pakete. Installieren Sie diese jetzt:

(vm)$ sudo apt-get install -y python3-tk && \
  pip3 install --user Cython matplotlib opencv-python-headless pyyaml Pillow && \
  pip3 install --user 'git+https://github.com/cocodataset/cocoapi#egg=pycocotools&subdirectory=PythonAPI' && \
  pip3 install --user -U gast==0.2.2

Keepalive-Werte der VM-Verbindung aktualisieren

Diese Anleitung erfordert eine langlebige Verbindung zur Compute Engine-Instanz. Führen Sie den folgenden Befehl aus, um zu prüfen, ob eine Verbindung zur Instanz besteht:

(vm)$ sudo /sbin/sysctl \
  -w net.ipv4.tcp_keepalive_time=120 \
  net.ipv4.tcp_keepalive_intvl=120 \
  net.ipv4.tcp_keepalive_probes=5

Daten vorbereiten

  1. Fügen Sie eine Umgebungsvariable für Ihren Storage-Bucket hinzu. Ersetzen Sie bucket-name durch Ihren Bucket-Namen.

    (vm)$ export STORAGE_BUCKET=gs://bucket-name
    
  2. Fügen Sie eine Umgebungsvariable für das Datenverzeichnis hinzu.

    (vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco
    
  3. Fügen Sie eine Umgebungsvariable für das Modellverzeichnis hinzu.

    (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/mask-rcnn
    
  4. Führen Sie das Skript download_and_preprocess_coco.sh aus, um das COCO-Dataset in einen Satz von TFRecords (*.tfrecord) zu konvertieren, der von der Trainingsanwendung erwartet wird.

    (vm)$ sudo bash /usr/share/tpu/tools/datasets/download_and_preprocess_coco.sh ./data/dir/coco
    

    Dadurch werden die erforderlichen Bibliotheken installiert und das Skript für die Vorverarbeitung ausgeführt. Dann werden verschiedene *.tfrecord-Dateien in Ihr lokales Datenverzeichnis ausgegeben.

  5. Daten in den Cloud Storage-Bucket kopieren

    Nachdem Sie die Daten in TFRecords konvertiert haben, kopieren Sie sie mit dem Befehl gsutil aus dem lokalen Speicher in den Cloud Storage-Bucket. Die Annotationsdateien müssen ebenfalls kopiert werden. Diese Dateien helfen dabei, die Leistung des Modells zu validieren.

    (vm)$ gsutil -m cp ./data/dir/coco/*.tfrecord ${DATA_DIR}
    
    (vm)$ gsutil cp ./data/dir/coco/raw-data/annotations/*.json ${DATA_DIR}
    

Cloud TPU einrichten und starten

  1. Führen Sie den folgenden Befehl aus, um die Cloud TPU zu erstellen.

    (vm)$ gcloud compute tpus execution-groups create \
     --tpu-only \
     --accelerator-type=v3-8 \
     --name=mask-rcnn-tutorial \
     --zone=europe-west4-a \
     --tf-version=1.15.5
    

    Beschreibung der Befehls-Flags

    tpu-only
    Erstellt nur die Cloud TPU und keine Compute Engine.
    accelerator-type
    Der Typ der zu erstellenden Cloud TPU.
    name
    Der Name der zu erstellenden Cloud TPU.
    zone
    Die Zone, in der Sie die Cloud TPU erstellen möchten.
    tf-version
    Die Version von Tensorflow, die von gcloud auf der VM installiert wird.
  2. Die von Ihnen angegebene Konfiguration wird angezeigt. Geben Sie y zum Bestätigen oder n zum Abbrechen ein.

    Sie erhalten folgende Meldung: Operation success; not ssh-ing to Compute Engine VM due to --tpu-only flag. Da Sie die SSH-Schlüsselverteilung bereits abgeschlossen haben, können Sie diese Nachricht ignorieren.

  3. Fügen Sie eine Umgebungsvariable für den Namen Ihrer Cloud TPU hinzu.

    (vm)$ export TPU_NAME=mask-rcnn-tutorial
    

Training und Bewertung

  1. Fügen Sie einige erforderliche Umgebungsvariablen hinzu:

    (vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/tpu/models"
    (vm)$ export RESNET_CHECKPOINT=gs://cloud-tpu-checkpoints/retinanet/resnet50-checkpoint-2018-02-07
    (vm)$ export TRAIN_FILE_PATTERN=${DATA_DIR}/train-*
    (vm)$ export EVAL_FILE_PATTERN=${DATA_DIR}/val-*
    (vm)$ export VAL_JSON_FILE=${DATA_DIR}/instances_val2017.json
    (vm)$ export ACCELERATOR_TYPE=v3-8
    
  2. Rufen Sie das Verzeichnis /usr/share auf.

    (vm)$ cd /usr/share
    
  3. Führen Sie für das Training und die Bewertung den folgenden Befehl aus.

    (vm)$ python3 tpu/models/official/mask_rcnn/mask_rcnn_main.py \
    --use_tpu=True \
    --tpu=${TPU_NAME} \
    --model_dir=${MODEL_DIR} \
    --num_cores=8 \
    --mode="train_and_eval" \
    --config_file="/usr/share/tpu/models/official/mask_rcnn/configs/cloud/${ACCELERATOR_TYPE}.yaml" \
    --params_override="checkpoint=${RESNET_CHECKPOINT}, training_file_pattern=${TRAIN_FILE_PATTERN}, validation_file_pattern=${EVAL_FILE_PATTERN}, val_json_file=${VAL_JSON_FILE}"
      

    Beschreibung der Befehls-Flags

    use_tpu
    Legen Sie den Wert true fest, um auf einer Cloud TPU zu trainieren.
    tpu
    Der Name der Cloud TPU, um das Training oder die Bewertung auszuführen.
    model_dir
    Der Cloud Storage-Bucket, in dem während des Trainings Prüfpunkte und Zusammenfassungen gespeichert werden. Sie können einen vorhandenen Ordner verwenden, um zuvor generierte Prüfpunkte zu laden, die auf einer TPU mit derselben Größe und TensorFlow-Version erstellt wurden.
    num_cores
    Die Anzahl der Cloud TPU-Kerne, die beim Training verwendet werden sollen.
    mode
    Entweder train, eval oder train_and_eval.
    config_file
    Die Konfigurationsdatei, die vom Trainings-/Auswertungsskript verwendet wird.
    params_override
    Ein JSON-String, der Standardskriptparameter überschreibt. Weitere Informationen zu Skriptparametern finden Sie unter /usr/share/models/official/vision/detection/main.py.

Nach Abschluss des Trainings gibt das Trainingsskript in etwa Folgendes aus:

Eval results: {
  'AP75': 0.40665552,
  'APs': 0.21580082,
  'ARmax10': 0.48935828,
  'ARs': 0.3210774,
  'ARl': 0.6564725,
  'AP50': 0.58614284,
  'mask_AP': 0.33921072,
  'mask_AP50': 0.553329,
  'ARm': 0.5500552,
  'mask_APm': 0.37276757,
  'mask_ARmax100': 0.46716768,
  'mask_AP75': 0.36201102,
  'ARmax1': 0.3094466,
  'ARmax100': 0.51287305,
  'APm': 0.40756866,
  'APl': 0.48908308,
  'mask_ARm': 0.50562346,
  'mask_ARl': 0.6192515,
  'mask_APs': 0.17869519,
  'mask_ARmax10': 0.44764888,
  'mask_ARmax1': 0.2897982,
  'mask_ARs': 0.27102336,
  'mask_APl': 0.46426648,
  'AP': 0.37379172
}

Von hier aus können Sie entweder diese Anleitung abschließen und Ihre GCP-Ressourcen bereinigen oder sich die Ausführung des Modells auf einem Cloud TPU Pod genauer ansehen.

Modell mit Cloud TPU Pods skalieren

Wenn Sie ein Modell mit Cloud TPU Pods skalieren, können Sie schneller Ergebnisse erzielen. Das vollständig unterstützte Mask RCNN-Modell funktioniert mit den folgenden Pod-Slices:

  • v2-32
  • v3-32

Wenn Sie Cloud TPU Pods verwenden, trainieren Sie zuerst das Modell mit einem Pod und verwenden dann ein einzelnes Cloud TPU-Gerät, um das Modell zu bewerten.

Cloud TPU Pods trainieren

Wenn Sie Ihre Compute Engine-Instanz bereits gelöscht haben, erstellen Sie gemäß den Schritten unter Ressourcen einrichten eine neue Instanz.

  1. Löschen Sie die Cloud TPU-Ressource, die Sie zum Trainieren des Modells auf einem einzelnen Gerät erstellt haben.

    (vm)$ gcloud compute tpus execution-groups delete mask-rcnn-tutorial \
      --zone=europe-west4-a \
      --tpu-only
    
  2. Führen Sie den Befehl gcloud compute tpus execution-groups mit dem Parameter accelerator-type aus, um den Pod-Slice anzugeben, den Sie verwenden möchten. Der folgende Befehl verwendet beispielsweise einen v3-32-Pod-Slice.

    (vm)$ gcloud compute tpus execution-groups  create --tpu-only \
      --accelerator-type=v3-32 \
      --zone=europe-west4-a \
      --name=mask-rcnn-tutorial \
      --tf-version=1.15.5
    

    Beschreibung der Befehls-Flags

    tpu-only
    Erstellen Sie nur eine Cloud TPU. Standardmäßig werden mit dem Befehl gcloud eine VM und eine Cloud TPU erstellt.
    accelerator-type
    Der Typ der zu erstellenden Cloud TPU.
    zone
    Die Zone, in der Sie die Cloud TPU erstellen möchten.
    name
    Der Name der zu erstellenden Cloud TPU.
    tf-version
    Die Version von Tensorflow, die von gcloud compute tpus execution-groups auf der VM installiert wird.
  3. Aktualisieren Sie die Umgebungsvariablen TPU_NAME, MODEL_DIR und Accelerator_TYPE.

    (vm)$ export TPU_NAME=mask-rcnn-tutorial
    (vm)$ export ACCELERATOR_TYPE=v3-32
    (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/mask-rcnn-pods
    
  4. Starten Sie das Trainingsskript.

    (vm)$ python3 tpu/models/official/mask_rcnn/mask_rcnn_main.py \
      --use_tpu=True \
      --tpu=${TPU_NAME} \
      --iterations_per_loop=500 \
      --model_dir=${MODEL_DIR} \
      --num_cores=32 \
      --mode="train" \
      --config_file="/usr/share/tpu/models/official/mask_rcnn/configs/cloud/${ACCELERATOR_TYPE}.yaml" \
      --params_override="checkpoint=${RESNET_CHECKPOINT}, training_file_pattern=${TRAIN_FILE_PATTERN}, validation_file_pattern=${EVAL_FILE_PATTERN}, val_json_file=${VAL_JSON_FILE}"
      

    Beschreibung der Befehls-Flags

    use_tpu
    Legen Sie den Wert true fest, um auf einer Cloud TPU zu trainieren.
    tpu
    Der Name der Cloud TPU, um das Training oder die Bewertung auszuführen.
    iterations_per_loop
    Die Anzahl der Iterationen, die in einer Epoche abgeschlossen werden sollen.
    model_dir
    Der Cloud Storage-Bucket, in dem während des Trainings Prüfpunkte und Zusammenfassungen gespeichert werden. Sie können einen vorhandenen Ordner verwenden, um zuvor generierte Prüfpunkte zu laden, die auf einer TPU mit derselben Größe und TensorFlow-Version erstellt wurden.
    num_cores
    Die Anzahl der Cloud TPU-Kerne, die beim Training verwendet werden sollen.
    mode
    Entweder train, eval oder train_and_eval.
    config_file
    Die Konfigurationsdatei, die vom Trainings-/Auswertungsskript verwendet wird.
    params_override
    Ein JSON-String, der Standardskriptparameter überschreibt. Weitere Informationen zu Skriptparametern finden Sie unter /usr/share/models/official/vision/detection/main.py.

Nach Abschluss des Trainings sollte die Ausgabe des Trainingsskripts so aussehen:

I1201 07:22:49.762461 139992247961344 tpu_estimator.py:616] Shutdown TPU system.
INFO:tensorflow:Loss for final step: 0.7160271.

Modell bewerten

In diesem Schritt verwenden Sie einen einzelnen Cloud TPU-Knoten, um das oben trainierte Modell mit dem COCO-Dataset zu bewerten. Dies dauert etwa 10 Minuten.

  1. Löschen Sie die Cloud TPU-Ressource, die Sie zum Trainieren des Modells auf einem Pod erstellt haben.

    (vm)$ gcloud compute tpus execution-groups delete mask-rcnn-tutorial \
      --tpu-only \
      --zone=europe-west4-a
      
  2. Starten Sie eine Cloud TPU v2-8, um die Bewertung auszuführen. Verwenden Sie denselben Namen wie für die Compute Engine-VM, die immer noch ausgeführt werden sollte.

    (vm)$ gcloud compute tpus execution-groups create --tpu-only \
      --accelerator-type=v2-8 \
      --zone=europe-west4-a \
      --name=mask-rcnn-tutorial \
      --tf-version=1.15.5
    

    Beschreibung der Befehls-Flags

    tpu-only
    Erstellen Sie nur eine Cloud TPU. Standardmäßig werden mit dem Befehl gcloud eine VM und eine Cloud TPU erstellt.
    accelerator-type
    Der Typ der zu erstellenden Cloud TPU.
    zone
    Die Zone, in der Sie die Cloud TPU erstellen möchten.
    name
    Der Name der zu erstellenden Cloud TPU.
    tf-version
    Die Version von Tensorflow, die von gcloud auf der VM installiert wird.
  3. Starten Sie die Bewertung.

    (vm)$ python3 tpu/models/official/mask_rcnn/mask_rcnn_main.py \
      --use_tpu=True \
      --tpu=${TPU_NAME} \
      --iterations_per_loop=500 \
      --mode=eval \
      --model_dir=${MODEL_DIR} \
      --config_file="/usr/share/tpu/models/official/mask_rcnn/configs/cloud/${ACCELERATOR_TYPE}.yaml" \
      --params_override="checkpoint=${CHECKPOINT},training_file_pattern=${PATH_GCS_MASKRCNN}/train-*,val_json_file=${PATH_GCS_MASKRCNN}/instances_val2017.json,validation_file_pattern=${PATH_GCS_MASKRCNN}/val-*,init_learning_rate=0.28,learning_rate_levels=[0.028, 0.0028, 0.00028],learning_rate_steps=[6000, 8000, 10000],momentum=0.95,num_batch_norm_group=1,num_steps_per_eval=500,global_gradient_clip_ratio=0.02,total_steps=11250,train_batch_size=512,warmup_steps=1864"
      

    Beschreibung der Befehls-Flags

    use_tpu
    Verwenden Sie die TPU für das Training oder die Bewertung.
    tpu
    Der Name der Cloud TPU, um das Training oder die Bewertung auszuführen.
    iterations_per_loop
    Die Anzahl der Iterationen, die in einer Epoche abgeschlossen werden sollen.
    mode
    Entweder train, eval oder train_and_eval
    .
    model_dir
    Der Cloud Storage-Bucket, in dem während des Trainings Prüfpunkte und Zusammenfassungen gespeichert werden. Sie können einen vorhandenen Ordner verwenden, um zuvor generierte Prüfpunkte zu laden, die auf einer TPU mit derselben Größe und TensorFlow-Version erstellt wurden.
    config_file
    Die Konfigurationsdatei, die vom Trainings-/Auswertungsskript verwendet wird.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Bereinigen Sie die Compute Engine-VM-Instanz und die Cloud TPU-Ressourcen.

  1. Trennen Sie die Verbindung zur Compute Engine-Instanz, sofern noch nicht geschehen:

    (vm)$ exit
    

    Die Eingabeaufforderung sollte nun username@projectname lauten und angeben, dass Sie sich in Cloud Shell befinden.

  2. Verwenden Sie in Cloud Shell den folgenden Befehl, um Ihre Compute Engine-VM und Cloud TPU zu löschen:

    $ gcloud compute tpus execution-groups delete mask-rcnn-tutorial \
      --zone=europe-west4-a
    
  3. Prüfen Sie, ob die Ressourcen gelöscht wurden. Führen Sie dazu gcloud compute tpus execution-groups list aus. Der Löschvorgang kann einige Minuten dauern. Eine Antwort wie die folgende gibt an, dass Ihre Instanzen erfolgreich gelöscht wurden.

    $ gcloud compute tpus execution-groups list \
     --zone=europe-west4-a
    

    Sie sollten eine leere Liste der TPUs sehen, die in etwa so aussieht:

       NAME             STATUS
    
  4. Löschen Sie Ihren Cloud Storage-Bucket wie unten gezeigt mit gsutil. Ersetzen Sie bucket-name durch den Namen des Cloud Storage-Buckets.

    $ gsutil rm -r gs://bucket-name
    

Nächste Schritte

In dieser Anleitung haben Sie das Mask-RCNN-Modell mit einem Beispiel-Dataset trainiert. Die Ergebnisse dieses Trainings sind in den meisten Fällen nicht für die Inferenz verwendbar. Wenn Sie ein Modell für die Inferenz verwenden möchten, können Sie die Daten in einem öffentlich verfügbaren Dataset oder in Ihrem eigenen Dataset trainieren. Für Modelle, die auf Cloud TPUs trainiert wurden, müssen Datasets das Format TFRecord haben.

Sie können das Beispiel für das Dataset-Konvertierungstool verwenden, um ein Bildklassifizierungs-Dataset in das TFRecord-Format zu konvertieren. Wenn Sie kein Bildklassifizierungsmodell verwenden, müssen Sie das Dataset selbst in das TFRecords-Format konvertieren. Weitere Informationen finden Sie unter TFRecord und tf.Example.

Hyperparameter-Feinabstimmung

Sie können die Hyperparameter des Modells optimieren, um die Leistung des Modells mit Ihrem Dataset zu verbessern. Informationen zu Hyperparametern, die für alle TPU-unterstützten Modelle üblich sind, finden Sie auf GitHub. Informationen zu modellspezifischen Hyperparametern finden Sie im Quellcode für die einzelnen Modelle. Weitere Informationen zur Hyperparameter-Abstimmung finden Sie unter Übersicht über Hyperparameter-Abstimmung, Hyperparameter-Abstimmungsdienst und Hyperparameter abstimmen.

Inferenz

Sobald Ihr Modell trainiert ist, können Sie es für Inferenz (auch als Vorhersage bezeichnet) verwenden. AI Platform ist eine cloudbasierte Lösung, mit der Sie Modelle für maschinelles Lernen entwickeln, trainieren und bereitstellen können. Sobald ein Modell bereitgestellt wurde, können Sie den AI Platform Prediction-Dienst verwenden.