In dieser Anleitung erfahren Sie, wie Sie ein Keras EffizienteNet-Modell in Cloud TPU trainieren
mit tf.distribute.TPUStrategy
.
Wenn Sie nicht mit Cloud TPU vertraut sind, wird dringend empfohlen, die Kurzanleitung zu lesen, um zu erfahren, wie Sie eine Cloud TPU und eine Compute Engine-VM erstellen.
Ziele
- Cloud Storage-Bucket zum Speichern der Dataset- und Modellausgabe erstellen
- Bereiten Sie ein Imitaten-Dataset vor, das dem ImageNet-Dataset ähnlich ist.
- Trainingsjob ausführen
- Ausgabeergebnisse überprüfen
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.
Hinweise
Bevor Sie mit dieser Anleitung beginnen, prüfen Sie, ob Ihr Google Cloud-Projekt ordnungsgemäß eingerichtet ist.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
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. Achten Sie darauf, die von Ihnen erstellten TPU-VM-Ressourcen zu bereinigen um unnötige Kosten zu vermeiden.
Cloud TPU-Training mit Einzelgerät
In diesem Abschnitt wird beschrieben, wie Sie Cloud TPU-Ressourcen konfigurieren und das EfficientNet-Modell mit einem einzelnen Cloud TPU-Gerät trainieren.
Öffnen Sie ein Cloud Shell-Fenster.
Erstellen Sie eine Variable für Ihre Projekt-ID.
export PROJECT_ID=project-id
Konfigurieren Sie die Google Cloud CLI für die Verwendung des Projekts, in dem Sie erstellen möchten 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 aufAuthorize
. der Seite, damitgcloud
API-Aufrufe mit Ihren Anmeldedaten ausführen kann.Weitere Informationen zum
gcloud
-Befehl finden Sie in der gcloud-Referenz.Erstellen Sie ein Dienstkonto für das Cloud TPU-Projekt.
Dienstkonten ermöglichen dem Cloud TPU-Dienst den Zugriff auf andere Google Cloud-Dienste.
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
Exportieren Sie TPU-Einrichtungsvariablen.
Legen Sie die Zone fest, in der das Modell trainiert und die Trainingsdaten gespeichert werden.
$ export ZONE=europe-west4-a
Erstellen Sie mit dem folgenden Befehl einen Cloud Storage-Bucket:
gcloud storage buckets create gs://bucket-name --project=${PROJECT_ID} --location=europe-west4
Dieser Cloud Storage-Bucket speichert die Daten, die Sie zum Trainieren Ihres Modells verwenden, und die Trainingsergebnisse. Sie verwenden den Befehl „gcloud compute tpus tpu-vm“. zum Einrichten von Standardberechtigungen für das von Ihnen eingerichtete Cloud TPU-Dienstkonto aus dem vorherigen Schritt. Wenn Sie weitere Berechtigungen benötigen, können Sie die Berechtigungen auf Zugriffsebene anpassen.
Der Bucket-Standort muss sich in derselben Region wie Ihre Compute Engine (VM) und Ihr Cloud TPU-Knoten befinden.
Dataset vorbereiten oder fake_imagenet verwenden
ImageNet ist eine Bilddatenbank. Die Bilder in der Datenbank sind hierarchisch angeordnet, wobei jeder Knoten der Hierarchie durch Hunderte und Tausende von Bildern dargestellt wird.
In dieser Anleitung wird eine Demoversion des vollständigen ImageNet-Datasets verwendet, die als fake_imagenet bezeichnet wird. Mit dieser Demoversion können Sie das Tutorial testen und gleichzeitig den Speicher- und Zeitbedarf reduzieren. in der Regel mit der Ausführung eines Modells für die gesamte ImageNet-Datenbank verbunden.
Das Dataset "fake_imagenet" befindet sich an diesem Speicherort in Cloud Storage:
gs://cloud-tpu-test-datasets/fake_imagenet
Das Dataset "fake_imagenet" dient nur zum Verständnis, wie eine Cloud TPU verwendet wird und wie die End-to-End-Leistung validiert wird. Die Genauigkeit und das gespeicherte Modell erscheinen nicht aussagekräftig.
Wenn Sie das vollständige ImageNet-Dataset verwenden möchten, lesen Sie die Informationen unter ImageNet-Dataset herunterladen, vorverarbeiten und hochladen.
Starten Sie TPU-Ressourcen mit dem Befehl
gcloud
.$ gcloud compute tpus tpu-vm create efficientnet-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
- Der Beschleunigertyp gibt 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.
Weitere Informationen zum
gcloud
-Befehl finden Sie in der gcloud-Referenz.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
inusername@vm-name
:gcloud compute tpus tpu-vm ssh efficientnet-tutorial --zone=${ZONE}
Legen Sie die Cloud TPU-Namensvariable fest.
(vm)$ export TPU_NAME=local
Cloud Storage-Bucket-Variablen festlegen
Ersetzen Sie bucket-name durch den Namen des Cloud Storage-Buckets:
(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export MODEL_DIR=${STORAGE_BUCKET}/efficientnet-2x (vm)$ export DATA_DIR=gs://cloud-tpu-test-datasets/fake_imagenet
Die Trainingsanwendung erwartet, dass Ihre Trainingsdaten in Cloud Storage verfügbar sind. Die Trainingsanwendung verwendet auch Ihren Cloud Storage-Bucket, um während des Trainings Prüfpunkte zu speichern.
Wenn Sie beim Erstellen der TPU den Parameter
--version
auf eine Version festlegen, die mit-pjrt
, legen Sie die folgenden Umgebungsvariablen fest, 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
Installieren Sie TensorFlow-Anforderungen.
(vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt
Für das EffizienteNet-Trainingsskript sind zusätzliche Pakete erforderlich. Installieren Sie diese jetzt:
(vm)$ sudo pip3 install tensorflow-addons (vm)$ sudo pip3 install tensorflow-model-optimization>=0.1.3
Legen Sie erforderliche Umgebungsvariablen fest:
(vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/tpu/models"
Das EffizienteNet-Modell ist auf Ihrer Cloud TPU-VM vorinstalliert.
Wechseln Sie zum Verzeichnis, in dem sich das Modell befindet:
(vm)$ cd /usr/share/tpu/models/official/legacy/image_classification
Modell trainieren Dies verwendet ein fake_imagenet-Dataset und trainiert EfficientNet für eine Epoche.
(vm)$ python3 classifier_trainer.py \ --mode=train_and_eval \ --model_type=efficientnet \ --dataset=imagenet \ --tpu=${TPU_NAME} \ --data_dir=${DATA_DIR} \ --model_dir=${MODEL_DIR} \ --config_file=configs/examples/efficientnet/imagenet/efficientnet-b0-tpu.yaml \ --params_override="train.epochs=1, train_dataset.builder=records, validation_dataset.builder=records"
Beschreibung der Befehls-Flags
mode
- Entweder
train
,eval
odertrain_and_eval
. model_type
- Der Typ des Modells. Beispiel:
efficientnet
. dataset
- Der Name des Datasets. Beispiel:
imagenet
. tpu
- Der Name der Cloud TPU, um das Training oder die Bewertung auszuführen.
data_dir
- Gibt den Cloud Storage-Pfad für die Trainingseingabe an. Sie ist festgelegt auf das Dataset „fake_imagenet“ verwendet.
model_dir
- Der Cloud Storage-Pfad, unter dem Prüfpunkte und Zusammenfassungen gespeichert werden während des Modelltrainings. Sie können einen vorhandenen Ordner wiederverwenden, um zuvor generierte Prüfpunkte zu laden und zusätzliche Prüfpunkte zu speichern, sofern die vorherigen Prüfpunkte mit einer Cloud TPU derselben Größe und TensorFlow-Version erstellt wurden.
config_file
- Der Pfad zur JSON-Datei mit dem vortrainierten EffectiveNet- modellieren. Diese Datei enthält die Modellarchitektur.
params_override
- Ein JSON-String, der Standardskriptparameter überschreibt. Weitere Informationen
Informationen zu Skriptparametern finden Sie unter
/usr/share/models/official/legacy/detection/main.py
.
Dies führt zu einer Trainingsphase von EfficientNet für eine Epoche und wird in ungefähr 40 Minuten auf einem v3-8-Cloud-TPU-Knoten abgeschlossen. Nach Abschluss des Trainingsskripts sieht die Ausgabe in etwa so aus:
Run stats: { 'accuracy_top_1': 0.0010172526817768812, 'eval_loss': 7.104171276092529, 'loss': 7.113735675811768, 'training_accuracy_top_1': 0.0009773431811481714, 'step_timestamp_log': [ 'BatchTimestamp<batch_index: 0, timestamp: 1604960724.2224622>', 'BatchTimestamp<batch_index: 1251, timestamp: 1604961281.3745298>' ], 'train_finish_time': 1604961342.6359076, 'avg_exp_per_second': 2071.493269569079 }
Führen Sie EfficientNet 90 Epochen lang aus, wie im folgenden Skript gezeigt, um das Training bis zur Konvergenz mit dem ImageNet-Dataset auszuführen. Training und Evaluierung werden gemeinsam durchgeführt. Jede Epoche umfasst 1.251 Schritte für insgesamt 112.590 Trainingsschritte und 48 Bewertungsschritte.
(vm)$ python3 classifier_trainer.py \ --mode=train_and_eval \ --model_type=efficientnet \ --dataset=imagenet \ --tpu=${TPU_NAME} \ --data_dir=${DATA_DIR} \ --model_dir=${MODEL_DIR} \ --config_file=configs/examples/efficientnet/imagenet/efficientnet-b0-tpu.yaml \ --params_override="train_dataset.builder=records, validation_dataset.builder=records"
Beschreibung der Befehls-Flags
mode
- Eine der folgenden Möglichkeiten:
train
,eval
odertrain_and_eval
. model_type
- Der Typ des Modells. Beispiel:
efficientnet
. dataset
- Der Name des Datasets. Beispiel:
imagenet
. tpu
- Der Name der Cloud TPU, um das Training oder die Bewertung auszuführen.
data_dir
- Gibt den Cloud Storage-Pfad für die Trainingseingabe an. Sie ist festgelegt auf das Dataset „fake_imagenet“ verwendet.
model_dir
- Der Cloud Storage-Pfad, in dem während des Modelltrainings Prüfpunkte und Zusammenfassungen gespeichert werden. Sie können einen vorhandenen Ordner wiederverwenden, um zuvor generierte Prüfpunkte zu laden und zusätzliche Prüfpunkte zu speichern, sofern die vorherigen Prüfpunkte mit einer Cloud TPU derselben Größe und TensorFlow-Version erstellt wurden.
config_file
- Der Pfad zur JSON-Datei, die das vortrainierte Modell EfficientNet enthält. Diese Datei enthält die Modellarchitektur.
params_override
- Ein JSON-String, der Standardskriptparameter überschreibt. Weitere Informationen
Informationen zu Skriptparametern finden Sie unter
/usr/share/models/official/legacy/detection/main.py
Da das Training mit dem Dataset „fake_imagenet“ durchgeführt wurde, weichen die Ergebnisse von der tatsächlichen Ausgabe ab, die Sie bei Ausführung des Trainings mit einem echten Dataset erhalten hätten.
Sie haben jetzt das Einzelgerät-Training abgeschlossen. Führen Sie die folgenden Schritte aus, um die aktuellen Ressourcen des TPU-Einzelgeräts zu löschen.
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.Löschen Sie die TPU-Ressource.
$ gcloud compute tpus tpu-vm delete efficientnet-tutorial \ --zone=${ZONE}
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.
Auf Cloud TPU Pod trainieren
Dieser Abschnitt enthält Informationen zum Einrichten eines Cloud Storage-Buckets und von Cloud TPU-Ressourcen für das Pod-Training.
Öffnen Sie ein Cloud Shell-Fenster.
Erstellen Sie eine Variable für Ihre Projekt-ID.
export PROJECT_ID=project-id
Konfigurieren Sie die Google Cloud CLI für die Verwendung des Projekts, in dem Sie erstellen möchten 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 aufAuthorize
. der Seite, damitgcloud
Google Cloud API-Aufrufe mit Ihren Anmeldedaten ausführen kann.Erstellen Sie ein Dienstkonto für das Cloud TPU-Projekt.
Dienstkonten ermöglichen dem Cloud TPU-Dienst den Zugriff auf andere Google Cloud-Dienste.
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
Erstellen Sie mit dem folgenden Befehl einen Cloud Storage-Bucket oder verwenden Sie einen Bucket, den Sie zuvor für Ihr Projekt erstellt haben:
gcloud storage buckets create gs://bucket-name --project=${PROJECT_ID} --location=europe-west4
Dieser Cloud Storage-Bucket speichert die Daten, die Sie zum Trainieren Ihres Modells verwenden, und die Trainingsergebnisse. Mit dem in dieser Anleitung verwendeten
gcloud
-Befehl werden Standardberechtigungen für das Cloud TPU-Dienstkonto eingerichtet, das Sie im vorherigen Schritt eingerichtet haben. Wenn Sie genauere Berechtigungen benötigen, können Sie die Berechtigungen auf Zugriffsebene anpassen.Der Bucket-Standort muss sich in derselben Region wie die TPU-Ressourcen befinden.
Exportieren Sie TPU-Einrichtungsvariablen.
Legen Sie die Zone fest, in der das Modell trainiert und die Trainingsdaten gespeichert werden.
$ export ZONE=europe-west4-a
Prepare your dataset or use fake_imagenet
ImageNet is an image database. The images in the database are organized into a hierarchy, with each node of the hierarchy depicted by hundreds and thousands of images.
The default Pod training accesses a demonstration version of the full ImageNet dataset, referred to as fake_imagenet. This demonstration version allows you to test Pod training, while reducing the storage and time requirements typically associated with training a model against the full ImageNet database.
The fake_imagenet dataset is only useful for understanding how to use a Cloud TPU and validating end-to-end performance. The accuracy numbers and saved model will not be meaningful.
If you want to use the full ImageNet dataset, see Downloading, preprocessing, and uploading the ImageNet dataset.
Launch your Cloud TPU resources using the
gcloud
command.For more information on the
gcloud
command, see the gcloud Reference. This tutorial specifies a v3-32 Pod. For other Pod options, see the available TPU types page.This tutorial specifies a v3-32 Pod. For other Pod options, see the available TPU types page.
$ gcloud compute tpus tpu-vm create efficientnet-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 den unterstützten Beschleunigertypen für jede TPU-Version finden Sie unter TPU-Versionen.
version
- Die Cloud TPU-Softwareversion.
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
inusername@vm-name
:gcloud compute tpus tpu-vm ssh efficientnet-tutorial --zone=europe-west4-a
Exportieren Sie TPU-Einrichtungsvariablen:
(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export TPU_NAME=efficientnet-tutorial (vm)$ export DATA_DIR=gs://cloud-tpu-test-datasets/fake_imagenet (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/efficientnet-2x-pod
Die Trainingsanwendung erwartet, dass Ihre Trainingsdaten in Cloud Storage verfügbar sind. Die Trainingsanwendung verwendet auch Ihren Cloud Storage-Bucket, um während des Trainings Prüfpunkte zu speichern.
Installieren Sie TensorFlow-Anforderungen.
(vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt
Legen Sie erforderliche Umgebungsvariablen fest:
(vm)$ export PYTHONPATH="/usr/share/tpu/models:${PYTHONPATH}" (vm)$ export TPU_LOAD_LIBRARY=0
Wechseln Sie zum Verzeichnis, in dem sich das Modell befindet:
(vm)$ cd /usr/share/tpu/models/official/legacy/image_classification/
Modell trainieren
(vm)$ python3 classifier_trainer.py \ --mode=train_and_eval \ --model_type=efficientnet \ --dataset=imagenet \ --tpu=${TPU_NAME} \ --data_dir=${DATA_DIR} \ --model_dir=${MODEL_DIR} \ --config_file=configs/examples/efficientnet/imagenet/efficientnet-b0-tpu.yaml \ --params_override="train.epochs=1, train_dataset.builder=records, validation_dataset.builder=records"
Beschreibung der Befehls-Flags
mode
- Wenn
train_and_eval
festgelegt ist, wird dieses Modell trainiert und bewertet. Wenn dieses Script aufexport_only
festgelegt ist exportiert ein gespeichertes Modell. model_type
- Der Typ des Modells. Beispiel:
efficientnet
. dataset
- Der Name des Datasets. Beispiel:
imagenet
. tpu
- Verwendet den in der TPU_NAME-Variable angegebenen Namen.
data_dir
- Gibt den Cloud Storage-Pfad für die Trainingseingabe an. In diesem Beispiel ist er auf das Dataset „fake_imagenet“ festgelegt.
model_dir
- Der Cloud Storage-Pfad, unter dem Prüfpunkte und Zusammenfassungen gespeichert werden während des Modelltrainings. Sie können einen vorhandenen Ordner wiederverwenden, um zuvor generierte Prüfpunkte zu laden und zusätzliche Prüfpunkte zu speichern, sofern die vorherigen Prüfpunkte mit einer Cloud TPU derselben Größe und TensorFlow-Version erstellt wurden.
config_file
- Der Pfad zur JSON-Datei mit dem vortrainierten EffectiveNet- modellieren. Diese Datei enthält die Modellarchitektur.
params_override
- Ein JSON-String, der Standardskriptparameter überschreibt. Weitere Informationen
Informationen zu Skriptparametern finden Sie unter
/usr/share/models/official/legacy/detection/main.py
.
Mit dem Verfahren wird das Modell für das fake_imagenet-Dataset auf eine Epoche (insgesamt 312 Trainingsschritte und 12 Bewertungsschritte) trainiert. Dieses Training dauert bei einer v3-32 Cloud TPU etwa 2 Minuten. Wenn das Training und die Bewertung abgeschlossen ist, wird eine Meldung wie diese angezeigt:
Run stats:
{
'accuracy_top_1': 0.0009969075908884406,
'eval_loss': 7.105168342590332,
'loss': 7.114983081817627,
'training_accuracy_top_1': 0.0010031675919890404,
'step_timestamp_log': [
'BatchTimestamp<batch_index: 0,
timestamp: 1605041621.4997303>',
'BatchTimestamp<batch_index: 312,
timestamp: 1605041970.8633356>'
],
'train_finish_time': 1605042032.2274444,
'avg_exp_per_second': 3111.5120716536226
}
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.
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.Löschen Sie Ihre Cloud TPU- und Compute Engine-Ressourcen.
$ gcloud compute tpus tpu-vm delete efficientnet-tutorial \ --zone=${ZONE}
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. Die Ausgabe des folgenden Befehls sollte keine der in dieser Anleitung erstellten TPU-Ressourcen enthalten:$ gcloud compute tpus execution-groups list --zone=${ZONE}
Löschen Sie den Cloud Storage-Bucket mit der gcloud CLI, wie dargestellt im folgenden Beispiel. Ersetzen Sie bucket-name durch den Namen Ihres Cloud Storage-Buckets.
$ 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
Sie können die Hyperparameter des Modells optimieren, um die Leistung des Modells mit Ihrem Dataset zu verbessern. Sie finden Informationen zu allgemeinen Hyperparametern Von TPU unterstützte Modelle 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 und Hyperparameter abstimmen.
Inferenz
Sobald Sie Ihr Modell trainiert haben, können Sie es für die Inferenz (auch als Vorhersage). Sie können den Cloud TPU-Inferenzkonverter verwenden ein Tool zum Erstellen und Optimieren TensorFlow-Modell für Inferenz auf Cloud TPU v5e Weitere Informationen Informationen zur Inferenz in Cloud TPU v5e finden Sie unter Cloud TPU v5e-Inferenz .
In der Anleitung zur Dataset-Konvertierung erfahren Sie, wie Sie mit Ihren eigenen Daten anstelle der Datasets "fake_imagenet" oder "ImageNet" trainieren und auswerten. In dieser Anleitung wird erläutert, wie Sie mit dem Skript-Beispiel für die Konvertierung von Bildklassifizierungsdaten ein Rohdataset für die Bildklassifizierung in das von Cloud TPU TensorFlow-Modellen verwendete TFRecord-Format konvertieren.
Führen Sie eine Cloud TPU colab aus, die zeigt, wie Sie ein Bildklassifizierungsmodell mit Ihren eigenen Bilddaten ausführen.
Andere Cloud TPU-Anleitungen ansehen.