

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.

# Modellbereitstellung
<a name="model-serving"></a>

Im Folgenden sind die Modell-Serving-Optionen aufgeführt, die auf dem Deep Learning-AMI mit Conda installiert sind. Klicken Sie auf eine der Optionen, um zu erfahren, wie Sie diese verwenden.

**Topics**
+ [TensorFlow Servieren](tutorial-tfserving.md)
+ [TorchServe](tutorial-torchserve.md)

# TensorFlow Servieren
<a name="tutorial-tfserving"></a>

[TensorFlow Serving](https://www.tensorflow.org/tfx/guide/serving) ist ein flexibles, leistungsstarkes Serviersystem für Modelle des maschinellen Lernens.

Das `tensorflow-serving-api` ist mit einem einzigen Framework DLAMI vorinstalliert. Um Tensorflow Serving zu verwenden, aktivieren Sie zunächst die Umgebung. TensorFlow 

```
$ source /opt/tensorflow/bin/activate
```

Verwenden Sie anschließend den von Ihnen bevorzugten Texteditor, um ein Skript mit folgendem Inhalt zu erstellen. Geben Sie ihr den Namen `test_train_mnist.py`. Auf dieses Skript wird im [TensorFlow Tutorial](https://github.com/tensorflow/docs/blob/master/site/en/tutorials/quickstart/beginner.ipynb) verwiesen, in dem ein maschinelles Lernmodell für neuronale Netzwerke trainiert und evaluiert wird, das Bilder klassifiziert.

```
import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
```

Führen Sie nun das Skript aus und geben Sie Server-Standort sowie Port und Dateinamen des Husky-Bilds als Parameter weiter.

```
$ /opt/tensorflow/bin/python3 test_train_mnist.py
```

 Haben Sie Geduld, da dieses Skript kann eine Weile brauchen kann, bevor es etwas ausgibt. Wenn das Training abgeschlossen ist, sollten Sie Folgendes sehen: 

```
I0000 00:00:1739482012.389276    4284 device_compiler.h:188] Compiled cluster using XLA!  This line is logged at most once for the lifetime of the process.
1875/1875 [==============================] - 24s 2ms/step - loss: 0.2973 - accuracy: 0.9134 
Epoch 2/5
1875/1875 [==============================] - 3s 2ms/step - loss: 0.1422 - accuracy: 0.9582
Epoch 3/5
1875/1875 [==============================] - 3s 1ms/step - loss: 0.1076 - accuracy: 0.9687
Epoch 4/5
1875/1875 [==============================] - 3s 2ms/step - loss: 0.0872 - accuracy: 0.9731
Epoch 5/5
1875/1875 [==============================] - 3s 1ms/step - loss: 0.0731 - accuracy: 0.9771
313/313 [==============================] - 0s 1ms/step - loss: 0.0749 - accuracy: 0.9780
```

## Weitere Funktionen und Beispiele
<a name="tutorial-tfserving-project"></a>

Wenn Sie mehr über TensorFlow Serving erfahren möchten, besuchen Sie die [TensorFlow Website](https://www.tensorflow.org/serving/).

# TorchServe
<a name="tutorial-torchserve"></a>

TorchServe ist ein flexibles Tool zur Bereitstellung von Deep-Learning-Modellen, aus denen exportiert wurden PyTorch. TorchServe ist mit dem Deep Learning AMI mit Conda vorinstalliert. 

Weitere Informationen zur Verwendung TorchServe finden Sie in der Dokumentation zu [Model Server](https://github.com/pytorch/serve/blob/master/docs/README.md). PyTorch 

 **Topics** 

## Stellen Sie ein Bildklassifizierungsmodell bereit auf TorchServe
<a name="tutorial-torchserve-serving"></a>

Dieses Tutorial zeigt, wie Sie ein Bildklassifizierungsmodell mit bereitstellen TorchServe. Es verwendet ein DenseNet -161-Modell, das von bereitgestellt wird PyTorch. Sobald der Server läuft, wartet er auf Vorhersageanfragen. Wenn Sie ein Bild hochladen, in diesem Fall das Bild eines Kätzchens, gibt der Server eine Vorhersage der fünf am besten passenden Klassen aus den Klassen zurück, für die das Modell trainiert wurde. 

**Um ein Beispiel für ein Bildklassifizierungsmodell bereitzustellen TorchServe**

1. Stellen Sie eine Connect zu einer Amazon Elastic Compute Cloud (Amazon EC2) -Instance mit Deep Learning AMI mit Conda v34 oder höher her. 

1. Aktivieren Sie die Umgebung. `pytorch_p310` 

   ```
   source activate pytorch_p310
   ```

1. Klonen Sie das TorchServe Repository und erstellen Sie dann ein Verzeichnis zum Speichern Ihrer Modelle.  

   ```
   git clone https://github.com/pytorch/serve.git
   mkdir model_store
   ```

1. Archivieren Sie das Modell mit dem Modellarchiver. Der `extra-files` Parameter verwendet eine Datei aus dem `TorchServe` Repo. Aktualisieren Sie daher den Pfad, falls erforderlich. Weitere Informationen zum Modellarchiver finden Sie unter [Torch Model](https://github.com/pytorch/serve/blob/master/model-archiver/README.md) Archiver for. TorchServe 

   ```
   wget https://download.pytorch.org/models/densenet161-8d451a50.pth
   torch-model-archiver --model-name densenet161 --version 1.0 --model-file ./serve/examples/image_classifier/densenet_161/model.py --serialized-file densenet161-8d451a50.pth --export-path model_store --extra-files ./serve/examples/image_classifier/index_to_name.json --handler image_classifier
   ```

1. Ausführen TorchServe , um einen Endpunkt zu starten. Durch das `> /dev/null` Hinzufügen wird die Protokollausgabe gestoppt. 

   ```
   torchserve --start --ncs --model-store model_store --models densenet161.mar > /dev/null
   ```

1. Laden Sie ein Bild eines Kätzchens herunter und senden Sie es an den TorchServe Predict-Endpunkt: 

   ```
   curl -O https://s3.amazonaws.com/model-server/inputs/kitten.jpg
   curl http://127.0.0.1:8080/predictions/densenet161 -T kitten.jpg
   ```

   Der Vorhersage-Endpunkt gibt eine Vorhersage in JSON zurück, die den folgenden fünf wichtigsten Vorhersagen ähnelt, wobei das Bild mit einer Wahrscheinlichkeit von 47% eine ägyptische Katze enthält, gefolgt von einer Wahrscheinlichkeit von 46%, dass es sich um eine Tabbykatze handelt. 

   ```
   {
    "tiger_cat": 0.46933576464653015,
    "tabby": 0.463387668132782,
    "Egyptian_cat": 0.0645613968372345,
    "lynx": 0.0012828196631744504,
    "plastic_bag": 0.00023323058849200606
   }
   ```

1. Wenn Sie mit dem Testen fertig sind, beenden Sie den Server: 

   ```
   torchserve --stop
   ```

 **Andere Beispiele** 

TorchServe hat eine Vielzahl von Beispielen, die Sie auf Ihrer DLAMI-Instanz ausführen können. Sie können sie auf [der Seite mit den Beispielen für das TorchServe Projekt-Repository](https://github.com/pytorch/serve/tree/master/examples) einsehen. 

 **Mehr Informationen** 

 Weitere TorchServe Dokumentation, einschließlich der Einrichtung TorchServe mit Docker und der neuesten TorchServe Funktionen, finden Sie auf [ GitHubder TorchServe Projektseite](https://github.com/pytorch/serve) unter. 