TorchServe - AWS Deep Learning AMIs

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

TorchServe

TorchServe è uno strumento flessibile per servire modelli di deep learning che sono stati esportati da. PyTorch TorchServe viene preinstallato con Deep Learning AMI with Conda.

Per ulteriori informazioni sull'utilizzo TorchServe, vedere Model Server for PyTorch Documentation.

Argomenti

Offri un modello di classificazione delle immagini su TorchServe

Questo tutorial mostra come utilizzare un modello di classificazione delle immagini con TorchServe. Utilizza un modello DenseNet -161 fornito da PyTorch. Una volta che il server è in esecuzione, ascolta le richieste di previsione. Quando carichi un'immagine, in questo caso l'immagine di un gattino, il server restituisce una previsione delle 5 migliori classi corrispondenti tra le classi su cui è stato addestrato il modello.

Per fornire un esempio di modello di classificazione delle immagini su TorchServe
  1. Connettiti a un'istanza Amazon Elastic Compute Cloud (AmazonEC2) con Deep Learning AMI with Conda v34 o versione successiva.

  2. Attiva l'ambiente. pytorch_p310

    source activate pytorch_p310
  3. Clona il TorchServe repository, quindi crea una directory per archiviare i tuoi modelli. 

    git clone https://github.com/pytorch/serve.git mkdir model_store
  4. Archivia il modello utilizzando il model archiver. Il extra-files parametro utilizza un file del TorchServe repository, quindi aggiorna il percorso se necessario. Per ulteriori informazioni sul model archiver, vedere Torch Model 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
  5. Esegui TorchServe per avviare un endpoint. L'aggiunta > /dev/null disattiva l'output del registro.

    torchserve --start --ncs --model-store model_store --models densenet161.mar > /dev/null
  6. Scaricate l'immagine di un gattino e inviatela all'endpoint TorchServe previsto:

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

    L'endpoint di previsione restituisce una previsione JSON simile alle prime cinque previsioni seguenti, in cui l'immagine ha una probabilità del 47% di contenere un gatto egiziano, seguita da una probabilità del 46% che abbia un gatto soriano.

    { "tiger_cat": 0.46933576464653015, "tabby": 0.463387668132782, "Egyptian_cat": 0.0645613968372345, "lynx": 0.0012828196631744504, "plastic_bag": 0.00023323058849200606 }
  7. Al termine del test, arresta il server:

    torchserve --stop

Altri esempi

TorchServe ha una serie di esempi che puoi eseguire sulla tua DLAMI istanza. Puoi visualizzarli nella pagina degli esempi del repository TorchServe del progetto.

Maggiori informazioni

Per ulteriore TorchServe documentazione, incluso come configurare Docker e TorchServe le TorchServe funzionalità più recenti, consulta la pagina del TorchServe progetto su GitHub.