TorchServe - Deep Learning AMI

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 l'AMI Deep Learning con Conda.

Per ulteriori informazioni sull'utilizzo TorchServe, consulta 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 (Amazon EC2) con Deep Learning AMI con 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 in 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, ferma il server:

    torchserve --stop

Altri esempi

TorchServe contiene una serie di esempi che è possibile eseguire sulla propria istanza DLAMI. È possibile 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.