

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Fornecimento de modelos
<a name="model-serving"></a>

Veja a seguir as opções de fornecimento de modelos instaladas na AMI de deep learning com Conda. Clique em uma das opções para saber como usá-la.

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

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

TensorFlow O [Serving](https://www.tensorflow.org/tfx/guide/serving) é um sistema de atendimento flexível e de alto desempenho para modelos de aprendizado de máquina.

O `tensorflow-serving-api` vem pré-instalado com a DLAMI de framework único. Para usar o serviço tensorflow, primeiro ative o TensorFlow ambiente.

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

Em seguida, use um editor de texto de sua preferência para criar um script com o conteúdo a seguir. Chame-o de `test_train_mnist.py`. Esse script é referenciado no [TensorFlow Tutorial](https://github.com/tensorflow/docs/blob/master/site/en/tutorials/quickstart/beginner.ipynb), que treinará e avaliará um modelo de aprendizado de máquina de rede neural que classifica imagens.

```
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)
```

Agora execute o script passando o local do servidor, a porta e o nome do arquivo da fotografia do husky como parâmetros.

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

 Aguarde. Este script pode demorar um pouco antes de fornecer resultados. Quando o treinamento for concluído, você deverá ver o seguinte: 

```
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
```

## Outros recursos e exemplos
<a name="tutorial-tfserving-project"></a>

Se você estiver interessado em saber mais sobre o TensorFlow Serving, confira o [TensorFlow site](https://www.tensorflow.org/serving/).

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

TorchServe é uma ferramenta flexível para servir modelos de aprendizado profundo que foram exportados do PyTorch. TorchServe vem pré-instalado com a AMI de aprendizado profundo com Conda. 

Para obter mais informações sobre o uso TorchServe, consulte [Model Server for PyTorch Documentation](https://github.com/pytorch/serve/blob/master/docs/README.md). 

 **Tópicos** 

## Ofereça um modelo de classificação de imagens em TorchServe
<a name="tutorial-torchserve-serving"></a>

Este tutorial mostra como servir um modelo de classificação de imagens com TorchServe o. Ele usa um modelo DenseNet -161 fornecido pela. PyTorch Quando o servidor está em execução, ele escuta as solicitações de previsão. Quando você carrega uma imagem, neste caso, uma imagem de um gatinho, o servidor retorna uma estimativa das cinco principais classes correspondentes das classes em que o modelo foi treinado. 

**Para fornecer um exemplo de modelo de classificação de imagens em TorchServe**

1. Conecte-se a uma instância do Amazon Elastic Compute Cloud (Amazon EC2) da AMI de deep learning com o Conda v34 ou posterior. 

1. Ative o ambiente `pytorch_p310`. 

   ```
   source activate pytorch_p310
   ```

1. Clone o TorchServe repositório e crie um diretório para armazenar seus modelos.  

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

1. Arquive o modelo usando o arquivador de modelos. O `extra-files` parâmetro usa um arquivo do `TorchServe` repositório, portanto, atualize o caminho, se necessário. Para obter mais informações sobre o arquivador de modelos, consulte [Torch Model archiver](https://github.com/pytorch/serve/blob/master/model-archiver/README.md) 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. Execute TorchServe para iniciar um endpoint. A adição de `> /dev/null` silencia a saída do log. 

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

1. Baixe uma imagem de um gatinho e envie-a para o endpoint de TorchServe previsão: 

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

   O endpoint de previsão retorna uma previsão em JSON semelhante às cinco principais previsões a seguir, em que a imagem tem uma probabilidade de 47% de conter um gato egípcio, seguida por uma chance de 46% de ter um gato malhado. 

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

1. Ao terminar o teste, interrompa o servidor. 

   ```
   torchserve --stop
   ```

 **Outros exemplos** 

TorchServe tem vários exemplos que você pode executar em sua instância DLAMI. Você pode visualizá-los na [página de exemplos TorchServe do repositório do projeto](https://github.com/pytorch/serve/tree/master/examples). 

 **Mais informações** 

 Para obter mais TorchServe documentação, incluindo como configurar TorchServe o Docker e os TorchServe recursos mais recentes, consulte [a página do TorchServe projeto](https://github.com/pytorch/serve) em GitHub. 