

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

TorchServe es una herramienta flexible para ofrecer modelos de aprendizaje profundo que se han exportado desde PyTorch. TorchServe viene preinstalada con la AMI de aprendizaje profundo con Conda. 

Para obtener más información sobre su uso TorchServe, consulte [Model Server para PyTorch](https://github.com/pytorch/serve/blob/master/docs/README.md) ver la documentación. 

 **Temas** 

## Sirva un modelo de clasificación de imágenes en TorchServe
<a name="tutorial-torchserve-serving"></a>

En este tutorial se muestra cómo crear un modelo de clasificación de imágenes con TorchServe. Utiliza un modelo DenseNet -161 proporcionado por PyTorch. Una vez que el servidor está en funcionamiento, escucha las solicitudes de predicción. Al cargar una imagen, en este caso una imagen de un gatito, el servidor devuelve una predicción de las 5 principales clases coincidentes de entre las clases con las que se haya entrenado el modelo. 

**A modo de ejemplo, un modelo de clasificación de imágenes en TorchServe**

1. Conéctese a una instancia de Amazon Elastic Compute Cloud (Amazon EC2) con el AMI de aprendizaje profundo con Conda, v34 o posterior. 

1. Active el entorno de `pytorch_p310`. 

   ```
   source activate pytorch_p310
   ```

1. Clone el TorchServe repositorio y, a continuación, cree un directorio para almacenar sus modelos.  

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

1. Archive el modelo utilizando el archivador de modelos. El `extra-files` parámetro usa un archivo del `TorchServe` repositorio, así que actualiza la ruta si es necesario. Para obtener más información sobre el archivador de modelos, consulte el archivador de modelos [Torch](https://github.com/pytorch/serve/blob/master/model-archiver/README.md) para. 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. Ejecute TorchServe para iniciar un punto final. Al agregar `> /dev/null` se silencia la salida del registro. 

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

1. Descarga una imagen de un gatito y envíala al punto final de TorchServe predicción: 

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

   El punto de conexión de predicción devuelve una predicción en JSON similar a las siguientes cinco predicciones principales, donde la imagen tiene una probabilidad del 47 % de contener un gato egipcio, seguida de una probabilidad del 46 % de que sea un lince o un gato montés: 

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

1. Cuando termine la prueba, detenga el servidor. 

   ```
   torchserve --stop
   ```

 **Otros ejemplos** 

TorchServe tiene varios ejemplos que puede ejecutar en su instancia de DLAMI. Puede verlos en la página de [ejemplos del repositorio de TorchServe proyectos](https://github.com/pytorch/serve/tree/master/examples). 

 **Más información** 

 Para obtener más TorchServe documentación, incluida la forma de configurar TorchServe con Docker y las TorchServe funciones más recientes, consulta [la página del TorchServe proyecto](https://github.com/pytorch/serve) en GitHub. 