View a markdown version of this page

TorchServe - AWS Apprentissage profond (deep learning) AMIs

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

TorchServe est un outil flexible destiné à servir des modèles d'apprentissage en profondeur exportés depuis PyTorch. TorchServe est préinstallée avec l'AMI Deep Learning avec Conda.

Pour plus d'informations sur l'utilisation TorchServe, consultez Model Server pour PyTorch la documentation.

Rubriques

Diffusez un modèle de classification d'images sur TorchServe

Ce didacticiel montre comment utiliser un modèle de classification d'images avec TorchServe. Il utilise un DenseNet-161 modèle fourni par PyTorch. Une fois que le serveur fonctionne, il écoute les demandes de prédiction. Lorsque vous chargez une image, en l'occurrence 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 donner un exemple de modèle de classification d'images sur TorchServe
  1. Connectez-vous à une instance Amazon Elastic Compute Cloud (Amazon EC2) avec Deep Learning AMI avec Conda v34 ou version ultérieure.

  2. Activez l'pytorch_p310environnement.

    source activate pytorch_p310
  3. 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
  4. 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, mettez donc à jour le chemin si nécessaire. Pour plus d'informations sur l'archiveur de modèles, consultez l'archiveur de modèles Torch pour. 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
  5. Exécutez TorchServe pour démarrer un terminal. L'ajout > /dev/null calme la sortie du journal.

    torchserve --start --ncs --model-store model_store --models densenet161.mar > /dev/null
  6. Téléchargez une 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 de 46 % de chances qu'elle contienne un chat tigré.

    { "tiger_cat": 0.46933576464653015, "tabby": 0.463387668132782, "Egyptian_cat": 0.0645613968372345, "lynx": 0.0012828196631744504, "plastic_bag": 0.00023323058849200606 }
  7. Lorsque vous avez terminé les tests, arrêtez le serveur :

    torchserve --stop

Autres exemples

TorchServe propose de nombreux exemples que vous pouvez exécuter sur votre instance DLAMI. Vous pouvez les consulter sur la page d'exemples de référentiels de TorchServe projets.

Plus d'informations

Pour plus de TorchServe documentation, notamment sur la configuration TorchServe avec Docker et les dernières TorchServe fonctionnalités, consultez la page TorchServe du projet sur GitHub.