Mask RCNN auf Cloud TPU trainieren (TF 2.x)


Ü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 Modell "Mask RCNN" generiert Begrenzungsrahmen und Segmentierungsmasken für jedes Instanz eines Objekts im Bild. Das Modell basiert auf dem Feature Pyramid Network (FPN) und einem ResNet50-Backbone.

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

In dieser Anleitung wird davon ausgegangen, dass Sie bereits mit dem Trainieren eines Modells Cloud TPU Wenn Sie Cloud TPU noch nicht kennen, finden Sie in der Kurzanleitung eine grundlegende Einführung.

Lernziele

  • COCO-Dataset vorbereiten
  • Cloud Storage-Bucket zum Speichern der Dataset- und Modellausgabe erstellen
  • TPU-Ressourcen für Training und Evaluierung einrichten
  • Training und Bewertung auf einer einzelnen Cloud TPU oder einem Cloud TPU Pod ausführen

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

  • Compute Engine
  • Cloud TPU
  • Cloud Storage

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  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.

COCO-Dataset vorbereiten

In dieser Anleitung wird das COCO-Dataset verwendet. Das Dataset muss im TFRecord-Format vorliegen in einem Cloud Storage-Bucket, der für das Training verwendet werden soll.

Wenn Sie das COCO-Dataset bereits in einem Cloud Storage-Bucket vorbereitet haben, der sich in der Zone befindet, die Sie für das Modell trainieren verwenden werden, können Sie direkt zu Training mit einem einzelnen Gerät wechseln. Führen Sie andernfalls folgende Schritte aus, um das Dataset vorzubereiten.

  1. Öffnen Sie ein Cloud Shell-Fenster.

    Cloud Shell öffnen

  2. Konfigurieren Sie gcloud in Cloud Shell mit Ihrer Projekt-ID.

    export PROJECT_ID=project-id
    gcloud config set project ${PROJECT_ID}
  3. Erstellen Sie in Ihrer Cloud Shell mit folgendem Befehl einen Cloud Storage-Bucket:

    gcloud storage buckets create gs://bucket-name --project=${PROJECT_ID} --location=us-central2
  4. Erstellen Sie eine Compute Engine-VM, um den Datensatz herunterzuladen und vorzuverarbeiten. Weitere Informationen finden Sie unter Compute Engine-Instanz erstellen und starten

    $ gcloud compute instances create vm-name \
        --zone=us-central2-b \
        --image-family=ubuntu-2204-lts \
        --image-project=ubuntu-os-cloud \
        --machine-type=n1-standard-16 \
        --boot-disk-size=300GB
  5. Stellen Sie über SSH eine Verbindung zur Compute Engine-VM her:

    $ gcloud compute ssh vm-name --zone=us-central2-b

    Wenn Sie eine Verbindung zur VM herstellen, ändert sich die Shell-Eingabeaufforderung von username@projectname in username@vm-name.

  6. Richten Sie zwei Variablen ein, eine für den Storage-Bucket, den Sie erstellen. und eine für das Verzeichnis, das Die Trainingsdaten (DATA_DIR) im Storage-Bucket

    (vm)$ export STORAGE_BUCKET=gs://bucket-name
    (vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco
  7. Installieren Sie die Pakete, die für die Vorverarbeitung der Daten erforderlich sind.

    (vm)$ sudo apt-get update && \
      sudo apt-get install python3-pip && \
      sudo apt-get install -y python3-tk && \
      pip3 install --user Cython matplotlib opencv-python-headless pyyaml Pillow numpy absl-py tensorflow && \
      pip3 install --user "git+https://github.com/cocodataset/cocoapi#egg=pycocotools&subdirectory=PythonAPI"
  8. Zum Umwandeln das Skript download_and_preprocess_coco.sh ausführen COCO-Dataset in eine Reihe von TFRecord-Dateien (*.tfrecord) aufteilt, die die Anwendung erwartet.

    (vm)$ git clone https://github.com/tensorflow/tpu.git
    (vm)$ sudo bash 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 *.tfrecord-Dateien in Ihr lokales Datenverzeichnis ausgegeben. Der COCO-Download und das Ausführen des Konvertierungsskripts dauern ungefähr eine Stunde.

  9. Kopieren Sie die Daten in Ihren Cloud Storage-Bucket.

    Nachdem Sie die Daten in das TFRecord-Format konvertiert haben, kopieren Sie sie mit der gcloud CLI aus dem lokalen Speicher in Ihren Cloud Storage-Bucket. Du musst kopieren auch die Anmerkungsdateien. Diese Dateien helfen dabei, die Leistung des Modells zu validieren.

    (vm)$ gcloud storage cp ./data/dir/coco/*.tfrecord ${DATA_DIR}
    (vm)$ gcloud storage cp ./data/dir/coco/raw-data/annotations/*.json ${DATA_DIR}
  10. Trennen Sie die Verbindung zur Compute Engine-VM:

    (vm)$ exit

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

  11. So löschen Sie Ihre Compute Engine-VM:

    $ gcloud compute instances delete vm-name \
    --zone=us-central2-b

Cloud TPU-Training mit Einzelgerät

  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 die Google Cloud CLI für die Verwendung des Projekts, in dem Sie die Cloud TPU

    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 unten auf Authorize. der Seite, damit gcloud Google Cloud API-Aufrufe mit Ihren Anmeldedaten ausführen kann.

  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. Exportieren Sie TPU-Einrichtungsvariablen.

    Exportieren Sie Ihre Projekt-ID, den Namen, den Sie für Ihre TPU-Ressourcen verwenden möchten, sowie die Zone, in der Sie das Modell trainieren und alle trainingsbezogenen Daten speichern.

    $ export TPU_NAME=mask-rcnn-tutorial
    $ export ZONE=europe-west4-a
  6. Starten Sie eine Compute Engine-VM und eine Cloud TPU.

    $ gcloud compute tpus tpu-vm create mask-rcnn-tutorial \
       --zone=${ZONE} \
       --accelerator-type=v3-8 \
       --version=tpu-vm-tf-2.17.0-pjrt
      

    Beschreibung der Befehls-Flags

    zone
    Die Zone, in der Sie die Cloud TPU erstellen möchten.
    accelerator-type
    Mit dem Beschleunigertyp geben Sie die Version und Größe der Cloud TPU an, die Sie erstellen möchten. Weitere Informationen zu den unterstützten Beschleunigertypen für jede TPU-Version finden Sie unter TPU-Versionen.
    version
    Die Cloud TPU-Softwareversion.

    Weitere Informationen zum Befehl gcloud finden Sie in der gcloud-Referenz.

  7. Stellen Sie über SSH eine Verbindung zur Compute Engine-Instanz her. Wenn Sie verbunden sind an die VM ändert sich Ihre Shell-Eingabeaufforderung von username@projectname in username@vm-name:

    gcloud compute tpus tpu-vm ssh mask-rcnn-tutorial --zone=${ZONE}
  8. Installieren Sie TensorFlow-Anforderungen.

    (vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt
  9. Legen Sie die Cloud TPU-Namensvariable fest.

    (vm)$ export TPU_NAME=local
  10. Richten Sie die folgenden Umgebungsvariablen ein und ersetzen Sie bucket-name durch den Namen des Cloud Storage-Buckets, in dem das COCO-Dataset gespeichert ist:

    (vm)$ export STORAGE_BUCKET=gs://bucket-name
  11. Fügen Sie Umgebungsvariablen für die Daten- und Modellverzeichnisse hinzu.

    (vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco
    (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/mask-rcnn
  12. Fügen Sie weitere erforderliche Umgebungsvariablen hinzu:

    (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
  13. Legen Sie die Umgebungsvariable PYTHONPATH fest:

    (vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/tpu/models"
  14. Wenn Sie beim Erstellen Ihrer TPU den Parameter --version auf eine Version mit der Endung -pjrt festlegen, müssen Sie die folgenden Umgebungsvariablen festlegen, um die PJRT-Laufzeit zu aktivieren:

      (vm)$ export NEXT_PLUGGABLE_DEVICE_USE_C_API=true
      (vm)$ export TF_PLUGGABLE_DEVICE_LIBRARY_PATH=/lib/libtpu.so
  15. Wechseln Sie zum Verzeichnis, in dem sich das Modell befindet:

    (vm)$ cd /usr/share/tpu/models/official/vision

Mit dem folgenden Script wird ein Beispieltraining ausgeführt, das zehn Trainingsschritte umfasst und 10 Bewertungsschritten. Auf einer v3-8-TPU dauert das etwa 6 Minuten. Für das Training zur Konvergenz sind etwa 22.500 Schritte und ca. 6 Stunden auf einer v3-8-TPU.

  1. Führen Sie den folgenden Befehl aus, um das Mask-RCNN-Modell zu trainieren:

    (vm)$ python3 train.py \
      --tpu=${TPU_NAME} \
      --experiment=maskrcnn_resnetfpn_coco \
      --mode=train_and_eval \
      --config_file=configs/experiments/maskrcnn/r50fpn_640_coco_scratch_tpu4x4.yaml \
      --model_dir=${MODEL_DIR} \
      --params_override="task.train_data.input_path=${TRAIN_FILE_PATTERN},task.validation_data.input_path=${EVAL_FILE_PATTERN},task.annotation_file=${VAL_JSON_FILE},runtime.distribution_strategy=tpu,trainer.train_steps=10,trainer.validation_steps=10,task.train_data.global_batch_size=8,task.validation_data.global_batch_size=8"

    Beschreibung der Befehls-Flags

    strategy_type
    Die Vertriebsstrategie.
    tpu
    Der Name Ihrer TPU.
    model_dir
    Gibt das Verzeichnis an, in dem Prüfpunkte und Zusammenfassungen gespeichert sind während des Modelltrainings. Wenn der Ordner fehlt, erstellt das Programm eins. Wenn eine Cloud TPU verwendet wird, muss model_dir ein Cloud Storage-Pfad sein (`gs://...`). Sie können einen vorhandenen Ordner wiederverwenden, um aktuelle Prüfpunktdaten zu laden und zusätzliche Prüfpunkte zu speichern, sofern die vorherigen Prüfpunkte mit TPU derselben Größe und TensorFlow-Version erstellt wurden.

    Wenn das Training abgeschlossen ist, wird eine Meldung wie diese angezeigt:

    {'frcnn_box_loss': 0.033865165,
     'frcnn_cls_loss': 1.2535654,
     'learning_rate': 0.008266499,
     'mask_loss': 1.2039567,
     'model_loss': 2.821458,
     'rpn_box_loss': 0.034982488,
     'rpn_score_loss': 0.2950886,
     'total_loss': 4.340171,
     'training_loss': 4.340171}
    train | step:     10 | steps/sec:    0.1 | output:
    {'frcnn_box_loss': 0.033865165,
     'frcnn_cls_loss': 1.2535654,
     'learning_rate': 0.008266499,
     'mask_loss': 1.2039567,
     'model_loss': 2.821458,
     'rpn_box_loss': 0.034982488,
     'rpn_score_loss': 0.2950886,
     'total_loss': 4.340171,
     'training_loss': 4.340171}
    

    Anschließend folgen die Ergebnisse der Bewertungsschritte.

    Sie haben jetzt das Training und die Bewertung für ein einzelnes Gerät abgeschlossen. Verwenden Sie die Methode Gehen Sie so vor, um die aktuellen TPU-Ressourcen eines einzelnen Geräts zu löschen.

  2. Trennen Sie die Verbindung zur Compute Engine-Instanz:

    (vm)$ exit

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

  3. Löschen Sie die TPU-Ressource.

    $ gcloud compute tpus tpu-vm delete mask-rcnn-tutorial \
        --zone=europe-west4-a

    Beschreibung der Befehls-Flags

    zone
    Die Zone, in der sich Ihre Cloud TPU befindet.

An dieser Stelle können Sie entweder diese Anleitung beenden und eine Bereinigung durchführen oder die Ausführung des Modells auf Cloud TPU Pods fortsetzen.

Modell mit Cloud TPU Pods skalieren

Das Training Ihres Modells auf Cloud TPU Pods erfordert möglicherweise einige Änderungen in Ihr Trainingsskript ein. Weitere Informationen finden Sie unter Auf TPU-Pods trainieren.

TPU-Pod-Training

  1. Öffnen Sie ein Cloud Shell-Fenster.

    Zu Cloud Shell

  2. Erstellen Sie eine Variable für Ihre Projekt-ID.

    export PROJECT_ID=project-id
  3. Konfigurieren Sie die Google Cloud CLI für die Verwendung des Projekts, in dem Sie 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, damit gcloud Google Cloud API-Aufrufe mit Ihren Anmeldedaten durchführen kann.

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

    Dienstkonten ermöglichen dem Cloud TPU-Dienst, auf andere Google Cloud-Dienste zuzugreifen.

    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. Wenn Sie das COCO-Dataset bereits vorbereitet und in den Speicher verschoben haben Bucket für das Pod-Training nutzen. Wenn Sie sich noch nicht das COCO-Dataset, bereiten Sie es jetzt vor und kehren Sie hierher zurück, um es einzurichten. für das Training.

  6. Cloud TPU-Pod starten

    In dieser Anleitung wird ein v3-32-Pod angegeben. Weitere Pod-Optionen finden Sie unter TPU-Versionen.

    $ gcloud compute tpus tpu-vm create mask-rcnn-tutorial \
      --zone=${ZONE} \
      --accelerator-type=v3-32 \
      --version=tpu-vm-tf-2.17.0-pod-pjrt

    Beschreibung der Befehls-Flags

    zone
    Die Zone, in der Sie die Cloud TPU erstellen möchten.
    accelerator-type
    Mit dem Beschleunigertyp geben Sie die Version und Größe der Cloud TPU an, die Sie erstellen möchten. Weitere Informationen zu unterstützten Beschleunigertypen für jede TPU-Version finden Sie unter TPU-Versionen.
    version
    Die Softwareversion von Cloud TPU.
  7. Stellen Sie über SSH eine Verbindung zur Compute Engine-Instanz her. Wenn Sie mit der VM verbunden sind, ändert sich die Shell-Eingabeaufforderung von username@projectname in username@vm-name:

    gcloud compute tpus tpu-vm ssh mask-rcnn-tutorial --zone=${ZONE}
  8. Installieren Sie TensorFlow-Anforderungen.

    (vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt
  9. Für das Trainingsskript ist ein zusätzliches Paket erforderlich. Installieren Sie es jetzt.

    (vm)$ pip3 install --user tensorflow-model-optimization>=0.1.3
  10. Legen Sie die Cloud TPU-Namensvariable fest.

    (vm)$ export TPU_NAME=mask-rcnn-tutorial
  11. Richten Sie die folgenden Umgebungsvariablen ein und ersetzen Sie bucket-name durch den Namen Ihres Cloud Storage-Buckets:

    (vm)$ export STORAGE_BUCKET=gs://bucket-name
  12. Fügen Sie einige weitere erforderliche Umgebungsvariablen hinzu:

    (vm)$ export RESNET_CHECKPOINT=gs://cloud-tpu-checkpoints/retinanet/resnet50-checkpoint-2018-02-07
    (vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco
    (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 MODEL_DIR=${STORAGE_BUCKET}/mask-rcnn-pod
  13. Legen Sie die Umgebungsvariable PYTHONPATH fest:

    (vm)$ export PYTHONPATH="/usr/share/tpu/models:${PYTHONPATH}"
    (vm)$ export TPU_LOAD_LIBRARY=0
  14. Wechseln Sie zum Verzeichnis, in dem sich das Modell befindet:

    (vm)$ cd /usr/share/tpu/models/official/vision
    (vm)$ cd /usr/share/models/official/legacy/detection
  15. Modell trainieren

    Mit diesem Verfahren wird das Modell für das COCO-Dataset für 10 Trainingsschritte trainiert. Dieses Training dauert etwa 10 Minuten auf einer v3-32 Cloud TPU.

    (vm)$ python3 train.py \
      --tpu=${TPU_NAME} \
      --experiment=maskrcnn_resnetfpn_coco \
      --mode=train_and_eval \
      --config_file=configs/experiments/maskrcnn/r50fpn_640_coco_scratch_tpu4x4.yaml \
      --model_dir=${MODEL_DIR} \
      --params_override="task.train_data.input_path=${TRAIN_FILE_PATTERN},task.validation_data.input_path=${EVAL_FILE_PATTERN},task.annotation_file=${VAL_JSON_FILE},runtime.distribution_strategy=tpu,trainer.train_steps=10,trainer.validation_steps=10,task.train_data.global_batch_size=256,task.validation_data.global_batch_size=256"

    Beschreibung der Befehls-Flags

    tpu
    Der Name Ihrer TPU.
    model_dir
    Gibt das Verzeichnis an, in dem während des Modelltrainings Prüfpunkte und Zusammenfassungen gespeichert werden. Wenn der Ordner fehlt, erstellt das Programm einen. Bei Verwendung einer Cloud TPU: model_dir muss ein Cloud Storage-Pfad (gs://...) sein. Sie können Einen vorhandenen Ordner wiederverwenden, um aktuelle Prüfpunktdaten zu laden und zu speichern zusätzliche Prüfpunkte, sofern die vorherigen Kontrollpunkte mit Cloud TPU derselben Größe und TensorFlow erstellt Version.
    params_override
    Ein JSON-String, der Standardskriptparameter überschreibt.

Wenn das Training abgeschlossen ist, wird eine Meldung wie diese angezeigt:

 I0706 19:47:16.108213 139955064548416 controller.py:457] train | step: 10 | steps/sec:    0.1 | output:
    {'frcnn_box_loss': 0.05632668,
     'frcnn_cls_loss': 1.3012192,
     'learning_rate': 0.008266499,
     'mask_loss': 1.2371812,
     'model_loss': 2.9746659,
     'rpn_box_loss': 0.08227444,
     'rpn_score_loss': 0.2976642,
     'total_loss': 4.493513,
     'training_loss': 4.493513}
train | step:     10 | steps/sec:    0.1 | output:
    {'frcnn_box_loss': 0.05632668,
     'frcnn_cls_loss': 1.3012192,
     'learning_rate': 0.008266499,
     'mask_loss': 1.2371812,
     'model_loss': 2.9746659,
     'rpn_box_loss': 0.08227444,
     'rpn_score_loss': 0.2976642,
     'total_loss': 4.493513,
     'training_loss': 4.493513}
 

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.

Löschen Sie nach Abschluss des Trainings die TPU-VM und entfernen Sie den Speicher-Bucket.

  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. Die Eingabeaufforderung sollte nun username@projectname lauten und angeben, dass Sie sich in Cloud Shell befinden.

  2. Löschen Sie Ihre Cloud TPU- und Compute Engine-Ressourcen.

    $ gcloud compute tpus tpu-vm delete mask-rcnn-tutorial \
    --zone=${ZONE}
  3. Prüfen Sie, ob die Ressourcen gelöscht wurden. Führen Sie dazu gcloud compute tpus tpu-vm list aus. Der Löschvorgang kann einige Minuten dauern. Die Ausgabe des folgenden Befehls sollte keine der in dieser Anleitung erstellten TPU-Ressourcen enthalten:

    $ gcloud compute tpus tpu-vm list --zone=${ZONE}
  4. Führen Sie die gcloud CLI wie gezeigt aus und ersetzen Sie bucket-name durch Name des Cloud Storage-Bucket, den Sie für diese Anleitung erstellt haben:

    $ gcloud storage rm gs://bucket-name --recursive

Nächste Schritte

In den Cloud TPU-Anleitungen von TensorFlow wird das Modell in der Regel mithilfe eines Beispiel-Datasets trainiert. Die Ergebnisse dieses Trainings können nicht für die Inferenz verwendet werden. 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. Auf Cloud TPUs trainierte TensorFlow-Modelle müssen Datasets im Allgemeinen TFRecord-Format.

Mit dem Tool zur Konvertierung von Datasets Sample zum Konvertieren eines Bildes Klassifizierungs-Dataset in das TFRecord-Format. Wenn Sie kein Bildklassifizierungsmodell verwenden, müssen Sie das Dataset selbst in das TFRecord-Format konvertieren. Weitere Informationen finden Sie unter TFRecord und tf.Beispiel

Hyperparameter-Feinabstimmung

Um die Leistung des Modells mit Ihrem Dataset zu verbessern, können Sie die Hyperparameter. Informationen zu Hyperparametern, die für alle TPU-unterstützten Modelle üblich sind, finden Sie auf GitHub. Informationen zu modellspezifischen Hyperparametern finden Sie in der Quelle Code für die einzelnen modellieren. Weitere Informationen zur Abstimmung von Hyperparametern finden Sie unter Übersicht über Hyperparameter-Abstimmung und Feinabstimmung Hyperparametern.

Inferenz

Sobald Sie Ihr Modell trainiert haben, können Sie es für die Inferenz (auch als Vorhersage). Mit dem Cloud TPU-Inferenzkonverter können Sie ein TensorFlow-Modell für die Inferenz auf Cloud TPU v5e vorbereiten und optimieren. Weitere Informationen zur Inferenz auf Cloud TPU v5e finden Sie unter Einführung in die Inferenz mit Cloud TPU v5e.

TPU-Tools in TensorBoard