View a markdown version of this page

TorchServe - AWS Deep Learning AMIs

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

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

Para obtener más información sobre su uso TorchServe, consulte la documentación de Model Server. PyTorch

Temas

Sirva un modelo de clasificación de imágenes en TorchServe

Este tutorial muestra cómo servir un modelo de clasificación de imágenes con TorchServe. Utiliza un DenseNet-161 modelo 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.

Para mostrar un ejemplo de 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.

  2. Active el entorno de pytorch_p310.

    source activate pytorch_p310
  3. 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
  4. Archive el modelo utilizando el archivador de modelos. El extra-files parámetro usa un archivo del TorchServe repositorio, así que actualice la ruta si es necesario. Para obtener más información sobre el archivador de modelos, consulte el archivador Torch Model 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
  5. 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
  6. 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 }
  7. Cuando termine la prueba, detenga el servidor.

    torchserve --stop

Otros ejemplos

TorchServe tiene una variedad de ejemplos que puedes ejecutar en tu instancia de DLAMI. Puedes verlos en la página de ejemplos del repositorio TorchServe del proyecto.

Más información

Para obtener más TorchServe documentación, que incluye cómo configurar TorchServe Docker y las TorchServe funciones más recientes, consulta la página del TorchServe proyecto en GitHub.