TorchServe - AMI de aprendizaje profundo

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 que se han exportado desde PyTorch. TorchServe viene preinstalada con la AMI de aprendizaje profundo con Conda.

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

Temas

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

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

A modo de ejemplo, un 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 actualiza la ruta si es necesario. Para obtener más información sobre el archivador de modelos, consulte el archivador de modelos Torch 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 varios ejemplos que puede ejecutar en su instancia de DLAMI. Puede verlos en la página de ejemplos del repositorio de TorchServe proyectos.

Más información

Para obtener más TorchServe documentación, incluida la forma de configurar TorchServe con Docker y las TorchServe funciones más recientes, consulta la página del TorchServe proyecto en GitHub.