

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Textklassifizierung - TensorFlow
<a name="text-classification-tensorflow"></a>

Der Amazon SageMaker AI Text Classification — TensorFlow Algorithmus ist ein überwachter Lernalgorithmus, der Transfer-Lernen mit vielen vortrainierten Modellen aus dem [TensorFlow Hub](https://tfhub.dev/) unterstützt. Verwenden Sie Transfer Learning, um eines der verfügbaren vortrainierten Modelle anhand Ihres eigenen Datensatzes zu optimieren, auch wenn eine große Menge an Textdaten nicht verfügbar ist. Der Textklassifizierungsalgorithmus verwendet eine Textzeichenfolge als Eingabe und gibt für jede Klassenbezeichnung eine Wahrscheinlichkeit aus. Trainingsdatensätze müssen im CSV-Format vorliegen. Diese Seite enthält Informationen zu Amazon EC2 EC2-Instance-Empfehlungen und Beispielnotizbücher für Text Classification - TensorFlow.

**Topics**
+ [

# Wie benutzt man den SageMaker AI Text Classification — Algorithmus TensorFlow
](text-classification-tensorflow-how-to-use.md)
+ [

# Eingabe- und Ausgabeschnittstelle für den TensorFlow Textklassifizierungsalgorithmus
](text-classification-tensorflow-inputoutput.md)
+ [

## Amazon EC2 EC2-Instance-Empfehlung für den Textklassifizierungsalgorithmus TensorFlow
](#text-classification-tensorflow-instances)
+ [

## Textklassifizierung — TensorFlow Beispiele für Notizbücher
](#text-classification-tensorflow-sample-notebooks)
+ [

# So TensorFlow funktioniert die Textklassifizierung
](text-classification-tensorflow-HowItWorks.md)
+ [

# TensorFlow Hub-Modelle
](text-classification-tensorflow-Models.md)
+ [

# Textklassifizierung — TensorFlow Hyperparameter
](text-classification-tensorflow-Hyperparameter.md)
+ [

# Optimieren Sie ein Textklassifizierungsmodell TensorFlow
](text-classification-tensorflow-tuning.md)

# Wie benutzt man den SageMaker AI Text Classification — Algorithmus TensorFlow
<a name="text-classification-tensorflow-how-to-use"></a>

Sie können Text Classification TensorFlow als integrierten Algorithmus von Amazon SageMaker AI verwenden. Im folgenden Abschnitt wird beschrieben, wie Sie Text Classification verwenden — TensorFlow mit dem SageMaker AI Python SDK. Informationen zur Verwendung TensorFlow von Text Classification — über die Amazon SageMaker Studio Classic-Benutzeroberfläche — finden Sie unter[SageMaker JumpStart vortrainierte Modelle](studio-jumpstart.md).

Der TensorFlow Textklassifizierungsalgorithmus unterstützt Transfer-Learning unter Verwendung eines der kompatiblen vortrainierten TensorFlow Modelle. Eine Liste aller verfügbaren vortrainierten Modelle finden Sie unter [TensorFlow Hub-Modelle](text-classification-tensorflow-Models.md). Jedes vortrainierte Modell hat ein Unikat `model_id`. Im folgenden Beispiel wird BERT Base Uncased (`model_id`:`tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2`) zur Feinabstimmung eines benutzerdefinierten Datensatzes verwendet. Die vortrainierten Modelle werden alle vorab vom TensorFlow Hub heruntergeladen und in Amazon S3 S3-Buckets gespeichert, sodass Trainingsjobs netzwerkisoliert ausgeführt werden können. Verwenden Sie diese vorgenerierten Modelltrainingsartefakte, um einen AI Estimator zu erstellen. SageMaker 

Rufen Sie zunächst den Docker-Image-URI, den Trainingsskript-URI und den vortrainierten Modell-URI ab. Ändern Sie dann die Hyperparameter nach Bedarf. Sie können ein Python-Wörterbuch mit allen verfügbaren Hyperparametern und ihren Standardwerten mit `hyperparameters.retrieve_default` sehen. Weitere Informationen finden Sie unter [Textklassifizierung — TensorFlow Hyperparameter](text-classification-tensorflow-Hyperparameter.md). Verwenden Sie diese Werte, um einen SageMaker AI-Schätzer zu erstellen.

**Anmerkung**  
Die Standard-Hyperparameterwerte sind für verschiedene Modelle unterschiedlich. Bei größeren Modellen ist die Standardstapelgröße beispielsweise kleiner. 

In diesem Beispiel wird der [https://www.tensorflow.org/datasets/catalog/glue#gluesst2](https://www.tensorflow.org/datasets/catalog/glue#gluesst2)Datensatz verwendet, der positive und negative Filmkritiken enthält. Wir haben den Datensatz vorab heruntergeladen und mit Amazon S3 verfügbar gemacht. Rufen Sie zur Feinabstimmung Ihres Modells an, `.fit` indem Sie den Amazon S3-Speicherort Ihres Trainingsdatensatzes verwenden. Jeder in einem Notebook verwendete S3-Bucket muss sich in derselben AWS Region befinden wie die Notebook-Instanz, die darauf zugreift.

```
from sagemaker import image_uris, model_uris, script_uris, hyperparameters
from sagemaker.estimator import Estimator

model_id, model_version = "tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2", "*"
training_instance_type = "ml.p3.2xlarge"

# Retrieve the Docker image
train_image_uri = image_uris.retrieve(model_id=model_id,model_version=model_version,image_scope="training",instance_type=training_instance_type,region=None,framework=None)

# Retrieve the training script
train_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="training")

# Retrieve the pretrained model tarball for transfer learning
train_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="training")

# Retrieve the default hyperparameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version)

# [Optional] Override default hyperparameters with custom values
hyperparameters["epochs"] = "5"

# Sample training data is available in this bucket
training_data_bucket = f"jumpstart-cache-prod-{aws_region}"
training_data_prefix = "training-datasets/SST2/"

training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}"

output_bucket = sess.default_bucket()
output_prefix = "jumpstart-example-tc-training"
s3_output_location = f"s3://{output_bucket}/{output_prefix}/output"

# Create an Estimator instance
tf_tc_estimator = Estimator(
    role=aws_role,
    image_uri=train_image_uri,
    source_dir=train_source_uri,
    model_uri=train_model_uri,
    entry_point="transfer_learning.py",
    instance_count=1,
    instance_type=training_instance_type,
    max_run=360000,
    hyperparameters=hyperparameters,
    output_path=s3_output_location,
)

# Launch a training job
tf_tc_estimator.fit({"training": training_dataset_s3_path}, logs=True)
```

Weitere Informationen zur Verwendung des SageMaker TensorFlow Textklassifizierungsalgorithmus für Transfer-Lernen in einem benutzerdefinierten Datensatz finden Sie im Notizbuch [Einführung in die JumpStart Textklassifikation](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_classification/Amazon_JumpStart_Text_Classification.ipynb).

# Eingabe- und Ausgabeschnittstelle für den TensorFlow Textklassifizierungsalgorithmus
<a name="text-classification-tensorflow-inputoutput"></a>

Jedes der in TensorFlow Hub-Modellen aufgelisteten vortrainierten Modelle kann auf jeden Datensatz abgestimmt werden, der aus Textsätzen mit einer beliebigen Anzahl von Klassen besteht. Das vortrainierte Modell fügt dem Text Embedding-Modell eine Klassifizierungsebene hinzu und initialisiert die Ebenenparameter mit Zufallswerten. Die Ausgabedimension der Klassifikationsschicht wird anhand der Anzahl der in den Eingabedaten erkannten Klassen bestimmt. 

Achten Sie darauf, wie Sie Ihre Trainingsdaten für die Eingabe in das Textklassifizierungsmodell formatieren. TensorFlow 
+ **Eingabeformat für Trainingsdaten:** Ein Verzeichnis, das eine `data.csv` Datei enthält. Jede Zeile der ersten Spalte sollte ganzzahlige Klassenbezeichnungen zwischen 0 und der Anzahl der Klassen haben. Jede Zeile der zweiten Spalte sollte die entsprechenden Textdaten enthalten.

Im Folgenden finden Sie ein Beispiel für eine CSV-Eingabedatei. Beachten Sie, dass die Datei keinen Header haben sollte. Die Datei sollte in einem Amazon-S3-Bucket mit einem Pfad gehostet werden, der dem folge nden ähnelt: `s3://bucket_name/input_directory/`. Beachten Sie, dass das Trailing `/` erforderlich ist.

```
|   |  |
|---|---|
|0 |hide new secretions from the parental units|
|0 |contains no wit , only labored gags|
|1 |that loves its characters and communicates something rather beautiful about human nature|
|...|...|
```

## Inkrementelles Training
<a name="text-classification-tensorflow-incremental-training"></a>

Sie können das Training eines neuen Modells mit Artefakten aus einem Modell beginnen, das Sie zuvor mit SageMaker KI trainiert haben. Dieses inkrementelle Training verkürzt die Trainingsdauer, wenn Sie ein neues Modell mit denselben oder ähnlichen Daten trainieren möchten.

**Anmerkung**  
Sie können ein SageMaker TensorFlow KI-Textklassifizierungsmodell nur mit einem anderen, in SageMaker KI trainierten TensorFlow Textklassifizierungsmodell auswerten. 

Sie können jeden Datensatz für das inkrementelle Training verwenden, solange der Klassensatz derselbe bleibt. Der inkrementelle Trainingsschritt ähnelt dem Feinabstimmungsschritt, aber anstatt mit einem vortrainierten Modell zu beginnen, beginnen Sie mit einem vorhandenen fein abgestimmten Modell. 

Weitere Informationen zur Verwendung von inkrementellem Training mit dem SageMaker TensorFlow AI-Textklassifizierungsalgorithmus finden Sie im Beispielnotizbuch [Einführung in die Textklassifizierung](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_classification/Amazon_JumpStart_Text_Classification.ipynb). JumpStart 

## Inferenz mit dem Textklassifizierungsalgorithmus TensorFlow
<a name="text-classification-tensorflow-inference"></a>

Sie können das fein abgestimmte Modell, das aus Ihrem TensorFlow Textklassifizierungstraining resultiert, als Inferenz hosten. Alle Rohtextformate für Inferenzen müssen vom Inhaltstyp sein `application/x-text` .

Das Ausführen von Inferenzen führt zu Wahrscheinlichkeitswerten, Klassenbezeichnungen für alle Klassen und dem vorhergesagten Label, das dem Klassenindex mit der höchsten Wahrscheinlichkeit entspricht, kodiert im JSON-Format. Das TensorFlow Textklassifizierungsmodell verarbeitet eine einzelne Zeichenfolge pro Anfrage und gibt nur eine Zeile aus. Nachfolgend finden Sie ein Beispiel für eine Antwort im JSON Lines-Format:

```
accept: application/json;verbose

{"probabilities": [prob_0, prob_1, prob_2, ...],
"labels": [label_0, label_1, label_2, ...],
"predicted_label": predicted_label}
```

Wenn `accept` auf `application/json` gesetzt ist, gibt das Modell nur Wahrscheinlichkeiten aus. 

## Amazon EC2 EC2-Instance-Empfehlung für den Textklassifizierungsalgorithmus TensorFlow
<a name="text-classification-tensorflow-instances"></a>

Der TensorFlow Textklassifizierungsalgorithmus unterstützt alle CPU- und GPU-Instances für das Training, einschließlich:
+ `ml.p2.xlarge`
+ `ml.p2.16xlarge`
+ `ml.p3.2xlarge`
+ `ml.p3.16xlarge`
+ `ml.g4dn.xlarge`
+ `ml.g4dn.16.xlarge`
+ `ml.g5.xlarge`
+ `ml.g5.48xlarge`

Wir empfehlen die Verwendung von GPU-Instances mit mehr Arbeitsspeicher zum Training mit großen Stapelgrößen. Sowohl CPU- (wie M5) als auch GPU-Instances (P2, P3, G4dn oder G5) können für Inferenzen verwendet werden. Eine umfassende Liste der SageMaker Trainings- und Inferenzinstanzen in allen AWS Regionen finden Sie unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/).

## Textklassifizierung — TensorFlow Beispiele für Notizbücher
<a name="text-classification-tensorflow-sample-notebooks"></a>

Weitere Informationen zur Verwendung des SageMaker TensorFlow AI-Textklassifizierungsalgorithmus für Transfer-Lernen an einem benutzerdefinierten Datensatz finden Sie im Notizbuch [Einführung in die JumpStart Textklassifizierung](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_classification/Amazon_JumpStart_Text_Classification.ipynb).

Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instanzen, mit denen Sie das Beispiel in SageMaker KI ausführen können, finden Sie unter. [SageMaker Amazon-Notebook-Instanzen](nbi.md) Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie die Registerkarte **SageMaker KI-Beispiele** aus, um eine Liste aller KI-Beispiele anzuzeigen. SageMaker Zum Öffnen eines Notebooks wählen Sie die Registerkarte **Verwenden** und dann **Kopie erstellen** aus.

# So TensorFlow funktioniert die Textklassifizierung
<a name="text-classification-tensorflow-HowItWorks"></a>

Der TensorFlow Algorithmus zur Textklassifizierung verwendet Text bei der Klassifizierung und ordnet ihn einer der Ausgabeklassenbezeichnungen zu. Deep-Learning-Netzwerke wie [BERT](https://arxiv.org/pdf/1810.04805.pdf) sind bei der Textklassifizierung sehr genau. Es gibt auch Deep-Learning-Netzwerke, die mit großen Textdatensätzen trainiert werden TextNet, z. B. mit mehr als 11 Millionen Texten mit etwa 11.000 Kategorien. Nachdem ein Netzwerk mit TextNet Daten trainiert wurde, können Sie das Netzwerk anhand eines Datensatzes mit einem bestimmten Schwerpunkt feinabstimmen, um spezifischere Textklassifizierungsaufgaben auszuführen. Der Amazon SageMaker AI Text Classification — TensorFlow Algorithmus unterstützt Transfer Learning auf vielen vortrainierten Modellen, die im TensorFlow Hub verfügbar sind.

Je nach Anzahl der Klassenbezeichnungen in Ihren Trainingsdaten wird dem vortrainierten TensorFlow Modell Ihrer Wahl eine Textklassifizierungsebene angehängt. Die Klassifikationsschicht besteht aus einem Dropout-Layer, einem dichten Layer und einem vollständig verbundenen Layer mit 2-Norm-Regularisierung und wird mit zufälligen Gewichten initialisiert. Sie können die Hyperparameterwerte für die Dropout-Rate der Dropout-Ebene und den L2-Regularisierungsfaktor für die dichte Schicht ändern.

Sie können entweder das gesamte Netzwerk (einschließlich des vortrainierten Modells) oder nur die oberste Klassifikationsebene auf neue Trainingsdaten abstimmen. Mit dieser Methode des Transfer-Learnings ist ein Training mit kleineren Datensätzen möglich.

# TensorFlow Hub-Modelle
<a name="text-classification-tensorflow-Models"></a>

Die folgenden vortrainierten Modelle können für das Transferlernen mit dem TensorFlow Textklassifizierungsalgorithmus verwendet werden. 

Die folgenden Modelle unterscheiden sich erheblich in Größe, Anzahl der Modellparameter, Trainingszeit und Inferenzlatenz für einen bestimmten Datensatz. Welches Modell am besten für Ihren Anwendungsfall geeignet ist, hängt von der Komplexität Ihres Feinabstimmungsdatensatzes und allen Anforderungen ab, die Sie an Trainingszeit, Inferenzlatenz oder Modellgenauigkeit haben.


| Modellname | `model_id` | Quelle | 
| --- | --- | --- | 
|  BERT-Base ohne Hülle  | `tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/3) | 
|  BERT-Basisgehäuse  | `tensorflow-tc-bert-en-cased-L-12-H-768-A-12-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/bert_en_cased_L-12_H-768_A-12/3) | 
|  BERT Base Mehrsprachiges Gehalten  | `tensorflow-tc-bert-multi-cased-L-12-H-768-A-12-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/bert_multi_cased_L-12_H-768_A-12/3) | 
|  Kleines BERT L-2\$1H-128\$1A-2  | `tensorflow-tc-small-bert-bert-en-uncased-L-2-H-128-A-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-2_H-128_A-2/1) | 
|  Kleines BERT L-2\$1H-256\$1A-4 | `tensorflow-tc-small-bert-bert-en-uncased-L-2-H-256-A-4` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-2_H-256_A-4/1) | 
|  Kleines BERT L-2\$1H-512\$1A-8  | `tensorflow-tc-small-bert-bert-en-uncased-L-2-H-512-A-8` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-2_H-512_A-8/1) | 
|  Kleines BERT L-2\$1H-768\$1A-12  | `tensorflow-tc-small-bert-bert-en-uncased-L-2-H-768-A-12` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-2_H-768_A-12/1) | 
|  Kleines BERT L-4\$1H-128\$1A-2  | `tensorflow-tc-small-bert-bert-en-uncased-L-4-H-128-A-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-4_H-128_A-2/1) | 
|  Kleines BERT L-4\$1H-256\$1A-4  | `tensorflow-tc-small-bert-bert-en-uncased-L-4-H-256-A-4` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-4_H-256_A-4/1) | 
|  Kleines BERT L-4\$1H-512\$1A-8  | `tensorflow-tc-small-bert-bert-en-uncased-L-4-H-512-A-8` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-4_H-512_A-8/1) | 
|  Kleines BERT L-4\$1H-768\$1A-12  | `tensorflow-tc-small-bert-bert-en-uncased-L-4-H-768-A-12` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-4_H-768_A-12/1) | 
|  Kleines BERT L-6\$1H-128\$1A-2  | `tensorflow-tc-small-bert-bert-en-uncased-L-6-H-128-A-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-6_H-128_A-2/1) | 
|  Kleines BERT L-6\$1H-256\$1A-4  | `tensorflow-tc-small-bert-bert-en-uncased-L-6-H-256-A-4` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-6_H-256_A-4/1) | 
|  Kleines BERT L-6\$1H-512\$1A-8  | `tensorflow-tc-small-bert-bert-en-uncased-L-6-H-512-A-8` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-6_H-512_A-8/1) | 
|  Kleines BERT L-6\$1H-768\$1A-12  | `tensorflow-tc-small-bert-bert-en-uncased-L-6-H-768-A-12` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-6_H-768_A-12/1) | 
|  Kleines BERT L-8\$1H-128\$1A-2  | `tensorflow-tc-small-bert-bert-en-uncased-L-8-H-128-A-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-8_H-128_A-2/1) | 
|  Kleines BERT L-8\$1H-256\$1A-4  | `tensorflow-tc-small-bert-bert-en-uncased-L-8-H-256-A-4` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-8_H-256_A-4/1) | 
|  Kleines BERT L-8\$1H-512\$1A-8  | `tensorflow-tc-small-bert-bert-en-uncased-L-8-H-512-A-8` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-8_H-512_A-8/1) | 
|  Kleines BERT L-8\$1H-768\$1A-12  | `tensorflow-tc-small-bert-bert-en-uncased-L-8-H-768-A-12` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-8_H-768_A-12/1) | 
|  Kleines BERT L-10\$1H-128\$1A-2  | `tensorflow-tc-small-bert-bert-en-uncased-L-10-H-128-A-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-10_H-128_A-2/1) | 
|  Kleines BERT L-10\$1H-256\$1A-4  | `tensorflow-tc-small-bert-bert-en-uncased-L-10-H-256-A-4` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-10_H-256_A-4/1) | 
|  Kleiner BERT L-10\$1H-512\$1A-8  | `tensorflow-tc-small-bert-bert-en-uncased-L-10-H-512-A-8` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-10_H-512_A-8/1) | 
|  Kleiner BERT L-10\$1H-768\$1A-12  | `tensorflow-tc-small-bert-bert-en-uncased-L-10-H-768-A-12` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-10_H-768_A-12/1) | 
|  Kleines BERT L-12\$1H-128\$1A-2  | `tensorflow-tc-small-bert-bert-en-uncased-L-12-H-128-A-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-12_H-128_A-2/1) | 
|  Kleines BERT L-12\$1H-256\$1A-4  | `tensorflow-tc-small-bert-bert-en-uncased-L-12-H-256-A-4` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-12_H-256_A-4/1) | 
|  Kleines BERT L-12\$1H-512\$1A-8  | `tensorflow-tc-small-bert-bert-en-uncased-L-12-H-512-A-8` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-12_H-512_A-8/1) | 
|  Kleines BERT L-12\$1H-768\$1A-12  | `tensorflow-tc-small-bert-bert-en-uncased-L-12-H-768-A-12` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-12_H-768_A-12/1) | 
|  BERT Large ohne Hülle  | `tensorflow-tc-bert-en-uncased-L-24-H-1024-A-16-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/bert_en_uncased_L-24_H-1024_A-16/3) | 
|  BERT Großkoffer  | `tensorflow-tc-bert-en-cased-L-24-H-1024-A-16-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/bert_en_cased_L-24_H-1024_A-16/3) | 
|  BERT Große Ganzwortmaskierung ohne Groß- und Kleinschreibung  | `tensorflow-tc-bert-en-wwm-uncased-L-24-H-1024-A-16-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/bert_en_wwm_uncased_L-24_H-1024_A-16/3) | 
|  BERT Maskierung ganzer Wörter in Großbuchstaben  | `tensorflow-tc-bert-en-wwm-cased-L-24-H-1024-A-16-2` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/bert_en_wwm_cased_L-24_H-1024_A-16/3) | 
|  ALBERT-Untergestell  | `tensorflow-tc-albert-en-base` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/albert_en_base/2) | 
|  ELECTRA Small \$1\$1  | `tensorflow-tc-electra-small-1` | [TensorFlow Hub-Verbindung](https://tfhub.dev/google/electra_small/2) | 
|  ELECTRA-Basis  | `tensorflow-tc-electra-base-1` | [TensorFlow Hub-Verbindung](https://tfhub.dev/google/electra_base/2) | 
|  BERT Base Wikipedia und BooksCorpus  | `tensorflow-tc-experts-bert-wiki-books-1` | [TensorFlow Hub-Link](https://tfhub.dev/google/experts/bert/wiki_books/2) | 
|  BERT-Basis MEDLINE/ PubMed  | `tensorflow-tc-experts-bert-pubmed-1` | [TensorFlow Hub-Verbindung](https://tfhub.dev/google/experts/bert/pubmed/2) | 
|  Talking Heads Base  | `tensorflow-tc-talking-heads-base` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/talkheads_ggelu_bert_en_base/1) | 
|  Talking Heads groß  | `tensorflow-tc-talking-heads-large` | [TensorFlow Hub-Verbindung](https://tfhub.dev/tensorflow/talkheads_ggelu_bert_en_large/1) | 

# Textklassifizierung — TensorFlow Hyperparameter
<a name="text-classification-tensorflow-Hyperparameter"></a>

Hyperparameter sind Parameter, die festgelegt werden, bevor ein Machine-Learning-Modell mit dem Lernen beginnt. Die folgenden Hyperparameter werden vom in Amazon SageMaker AI integrierten TensorFlow Objekterkennungsalgorithmus unterstützt. Weitere Informationen zur Hyperparameter-Optimierung finden Sie unter [Optimieren Sie ein Textklassifizierungsmodell TensorFlow](text-classification-tensorflow-tuning.md). 


| Name des Parameters | Description | 
| --- | --- | 
| batch\$1size |  Die Batch-Größe für das Training. Für das Training auf Instances mit mehreren GPUs wird diese Batchgröße überall verwendet. GPUs  Gültige Werte: positive Ganzzahl. Standardwert: `32`.  | 
| beta\$11 |  Die Beta1-Version für die`"adam"` und die `"adamw"` Optimierer. Stellt die exponentielle Zerfallsrate für die Schätzungen des ersten Moments dar. Wird für andere Optimierer ignoriert. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.9`.  | 
| beta\$12 |  Die Beta2 für die Optimierer sind `"adam"` und `"adamw"`. Stellt die exponentielle Abklingrate für die Schätzungen des zweiten Moments dar. Wird für andere Optimierer ignoriert. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.999`.  | 
| dropout\$1rate | Die Dropout-Rate für die Dropout-Schicht in der obersten Klassifizierungsschicht. Wird nur verwendet, wenn für `reinitialize_top_layer` der Wert `"True"` festgelegt ist. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.2` | 
| early\$1stopping |  Setz auf `"True"`, um die Logik zum Early-Stopping während des Trainings zu verwenden. Falls `"False"`, wird vorzeitiges Abbrechen nicht verwendet. Gültige Werte: Zeichenfolge, entweder: (`"True"` oder `"False"`). Standardwert: `"False"`.  | 
| early\$1stopping\$1min\$1delta | Die geringste Änderung, die erforderlich ist, um als Verbesserung zu gelten. Eine absolute Änderung, die unter dem Wert von early\$1stopping\$1min\$1delta liegt, gilt nicht als Verbesserung. Wird nur verwendet, wenn für early\$1stopping der Wert "True" festgelegt ist.Gültige Werte: Float, Bereich: [`0.0`, `1.0`].Standardwert: `0.0`. | 
| early\$1stopping\$1patience |  Die Anzahl der Epochen, in denen die Ausbildung ohne Verbesserung fortgesetzt wird. Wird nur verwendet, wenn für `early_stopping` der Wert `"True"` festgelegt ist. Gültige Werte: positive Ganzzahl. Standardwert: `5`.  | 
| epochs |  Die Anzahl der Trainingsepochen. Gültige Werte: positive Ganzzahl. Standardwert: `10`.  | 
| epsilon |  Das Epsilon für `"adam"`, `"rmsprop"`, `"adadelta"`, und `"adagrad"`. Normalerweise auf einen kleinen Wert eingestellt, um eine Division durch 0 zu vermeiden. Wird für andere Optimierer ignoriert. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `1e-7`.  | 
| initial\$1accumulator\$1value |  Der Startwert für die Akkumulatoren oder die Impulswerte pro Parameter für den `"adagrad"` Optimierer. Wird für andere Optimierer ignoriert. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.0001`.  | 
| learning\$1rate | Die Lernrate des Optimierers. Gültige Werte: Float, Bereich: [`0.0`, `1.0`].Standardwert: `0.001`. | 
| momentum |  Der Schwung für die `"sgd"` und `"nesterov"` Optimierer. Wird für andere Optimierer ignoriert. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.9`.  | 
| optimizer |  Der Optimierer-Typ. Weitere Informationen finden Sie in der [Dokumentation unter Optimizer](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers). TensorFlow  Gültige Werte: Zeichenfolge, einer der folgenden Werte: (`"adamw"`, `"adam"`, `"sgd"`, `"nesterov"`, `"rmsprop"`, ` "adagrad"` , `"adadelta"`). Standardwert: `"adam"`.  | 
| regularizers\$1l2 |  Der L2-Regularisierungsfaktor für die dichte Schicht in der Klassifizierungsschicht. Wird nur verwendet, wenn für `reinitialize_top_layer` der Wert `"True"` festgelegt ist. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.0001`.  | 
| reinitialize\$1top\$1layer |  Wenn dieser Wert auf `"Auto"` gesetzt ist, werden die Parameter der obersten Klassifikationsschicht während der Feinabstimmung neu initialisiert. Beim inkrementellen Training werden die Parameter der obersten Klassifikationsschicht nur dann neu initialisiert, wenn sie auf `"True"` gesetzt sind. Gültige Werte: Zeichenfolge, einer der folgenden Werte: (`"Auto"`, `"True"` oder `"False"`). Standardwert: `"Auto"`.  | 
| rho |  Der Abzinsungsfaktor für den Gradienten der `"adadelta"` und `"rmsprop"` Optimierer. Wird für andere Optimierer ignoriert.  Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.95`.  | 
| train\$1only\$1on\$1top\$1layer |  Falls `"True"`, werden nur die Parameter der obersten Klassifikationsschicht fein abgestimmt. Falls `"False"`, werden alle Modellparameter fein abgestimmt. Gültige Werte: Zeichenfolge, entweder: (`"True"` or `"False"`). Standardwert: `"False"`.  | 
| validation\$1split\$1ratio |  Der Anteil der Trainingsdaten, der nach dem Zufallsprinzip aufgeteilt werden soll, um Validierungsdaten zu erstellen. Wird nur verwendet, wenn keine Validierungsdaten über den `validation` Kanal bereitgestellt werden. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.2`.  | 
| warmup\$1steps\$1fraction |  Der Bruchteil der Gesamtzahl der Gradientenaktualisierungsschritte, bei denen die Lernrate beim Aufwärmen von 0 auf die anfängliche Lernrate ansteigt. Wird nur mit dem `adamw` Optimizer verwendet. Gültige Werte: Float, Bereich: [`0.0`, `1.0`]. Standardwert: `0.1`.  | 

# Optimieren Sie ein Textklassifizierungsmodell TensorFlow
<a name="text-classification-tensorflow-tuning"></a>

Die *automatische Modelloptimierung*, auch bekannt als Hyperparameteroptimierung, sucht die beste Version eines Modells, indem viele Aufträge ausgeführt werden, die einen Bereich von Hyperparametern in Ihrem Datensatz testen. Sie wählen die optimierbaren Hyperparameter, eine Reihe von Werten für jeden Parameter und eine objektive Metrik aus. Sie wählen die objektive Metrik aus den Metriken aus, die der Algorithmus berechnet. Die automatische Modelloptimierung durchsucht die ausgewählten Hyperparameter nach der Kombination von Werten, die das Modell ergeben, das die objektive Metrik optimiert.

Mehr Informationen über die Modelloptimierung finden Sie unter [Automatische Modelloptimierung mit KI SageMaker](automatic-model-tuning.md).

## Mit dem Textklassifizierungsalgorithmus berechnete Metriken TensorFlow
<a name="text-classification-tensorflow-metrics"></a>

In der folgenden Tabelle können Sie herausfinden, welche Metriken vom Textklassifizierungsalgorithmus berechnet werden. TensorFlow 


| Metrikname | Description | Optimierungsrichtung | Regex-Muster | 
| --- | --- | --- | --- | 
| validation:accuracy | Das Verhältnis der Anzahl von richtigen Prognosen zur Gesamtzahl der erstellten Voraussagen. | Maximieren | `val_accuracy=([0-9\\.]+)` | 

## Einstellbare Textklassifizierung — Hyperparameter TensorFlow
<a name="text-classification-tensorflow-tunable-hyperparameters"></a>

Stimmen Sie ein Textklassifikationsmodell mit den folgenden Hyperparametern ab. Die Hyperparameter mit den größten Auswirkungen auf die objektiven Metriken der Bildklassifizierung sind: `batch_size`, `learning_rate` und `optimizer`. Optimieren Sie die auf den Optimierer bezogenen Hyperparameter, wie `momentum`, `regularizers_l2`, `beta_1`, `beta_2`, `eps` und , basierend auf dem ausgewählten `optimizer`. Verwenden Sie z. B. `beta_1` und `beta_2` nur, wenn `adamw` oder `adam` der `optimizer` ist.

Weitere Informationen dazu, welche Hyperparameter für die `optimizer` einzelnen Parameter verwendet werden, finden Sie unter [Textklassifizierung — TensorFlow Hyperparameter](text-classification-tensorflow-Hyperparameter.md).


| Name des Parameters | Parametertyp | Empfohlene Bereiche | 
| --- | --- | --- | 
| batch\$1size | IntegerParameterRanges | MinValue: 4, MaxValue: 128 | 
| beta\$11 | ContinuousParameterRanges | MinValue: 1e-6, MaxValue: 0,99 | 
| beta\$12 | ContinuousParameterRanges | MinValue: 1e-6,: 0,999 MaxValue | 
| eps | ContinuousParameterRanges | MinValue: 1e-8,: 1,0 MaxValue | 
| learning\$1rate | ContinuousParameterRanges | MinValue: 1e-6,: 0,5 MaxValue | 
| momentum | ContinuousParameterRanges | MinValue: 0,0,: 0,99 MaxValue | 
| optimizer | CategoricalParameterRanges | ['adamw', 'adam', 'sgd', 'rmsprop', 'nesterov', 'adagrad', 'adadelta'] | 
| regularizers\$1l2 | ContinuousParameterRanges | MinValue: 0,0, MaxValue: 0,99 | 
| train\$1only\$1on\$1top\$1layer | CategoricalParameterRanges | ['True', 'False'] | 