

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

TorchServe est un outil flexible destiné à servir des modèles de deep learning exportés depuis PyTorch. TorchServe est préinstallé avec l'AMI Deep Learning avec Conda. 

Pour plus d'informations sur l'utilisation TorchServe, consultez la [ PyTorchdocumentation de Model Server](https://github.com/pytorch/serve/blob/master/docs/README.md). 

 **Rubriques** 

## Servir un modèle de classification d'images sur TorchServe
<a name="tutorial-torchserve-serving"></a>

Ce didacticiel montre comment utiliser un modèle de classification d'images avec TorchServe. Il utilise un modèle DenseNet -161 fourni par PyTorch. Une fois que le serveur est en cours d'exécution, il écoute les demandes de prédiction. Lorsque vous téléchargez une image, dans ce cas, l'image d'un chaton, le serveur renvoie une prédiction des 5 meilleures classes correspondantes parmi les classes sur lesquelles le modèle a été entraîné. 

**Pour servir un exemple de modèle de classification d'images sur TorchServe**

1. Connectez-vous à une instance Amazon Elastic Compute Cloud (Amazon EC2) avec l'AMI Deep Learning avec Conda v34 ou version ultérieure. 

1. Activez l'`pytorch_p310`environnement. 

   ```
   source activate pytorch_p310
   ```

1. Clonez le TorchServe référentiel, puis créez un répertoire pour stocker vos modèles.  

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

1. Archivez le modèle à l'aide de l'archiveur de modèles. Le `extra-files` paramètre utilise un fichier du `TorchServe` dépôt, donc mettez à jour le chemin si nécessaire. Pour plus d'informations sur l'archiveur de modèles, consultez la section [Archiveur de modèles Torch pour](https://github.com/pytorch/serve/blob/master/model-archiver/README.md). 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. Exécutez TorchServe pour démarrer un point de terminaison. L'ajout `> /dev/null` atténue la sortie du journal. 

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

1. Téléchargez l'image d'un chaton et envoyez-la au terminal de TorchServe prédiction : 

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

   Le point de terminaison de prédiction renvoie une prédiction au format JSON similaire aux cinq principales prédictions suivantes, où l'image a une probabilité de 47 % de contenir un chat égyptien, suivie d'une probabilité de 46 % qu'elle ait un chat tigré. 

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

1. Lorsque vous avez terminé le test, arrêtez le serveur : 

   ```
   torchserve --stop
   ```

 **Autres exemples** 

TorchServe contient de nombreux exemples que vous pouvez exécuter sur votre instance DLAMI. Vous pouvez les consulter sur [la page d'exemples du référentiel de TorchServe projets](https://github.com/pytorch/serve/tree/master/examples). 

 **Plus d'info** 

 Pour plus de TorchServe documentation, notamment sur la configuration TorchServe avec Docker et les dernières TorchServe fonctionnalités, consultez [la page du TorchServe projet](https://github.com/pytorch/serve) sur GitHub. 