TorchServe - AMIs de deep learning da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

TorchServe

TorchServe é uma ferramenta flexível para servir modelos de aprendizado profundo que foram exportados do PyTorch. TorchServe vem pré-instalado com o Deep Learning AMI with Conda.

Para obter mais informações sobre o uso TorchServe, consulte Model Server para PyTorch documentação.

Tópicos

Ofereça um modelo de classificação de imagens em TorchServe

Este tutorial mostra como servir um modelo de classificação de imagens com TorchServe o. Ele usa um modelo DenseNet -161 fornecido pela. PyTorch Quando o servidor está em execução, ele escuta as solicitações de previsão. Quando você carrega uma imagem, neste caso, uma imagem de um gatinho, o servidor retorna uma estimativa das cinco principais classes correspondentes das classes em que o modelo foi treinado.

Para fornecer um exemplo de modelo de classificação de imagens em TorchServe
  1. Conecte-se a uma instância do Amazon Elastic Compute Cloud (AmazonEC2) com o Deep Learning AMI com o Conda v34 ou posterior.

  2. Ative o ambiente pytorch_p310.

    source activate pytorch_p310
  3. Clone o TorchServe repositório e crie um diretório para armazenar seus modelos. 

    git clone https://github.com/pytorch/serve.git mkdir model_store
  4. Arquive o modelo usando o arquivador de modelos. O extra-files parâmetro usa um arquivo do TorchServe repositório, portanto, atualize o caminho, se necessário. Para obter mais informações sobre o arquivador de modelos, consulte 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. Execute TorchServe para iniciar um endpoint. A adição de > /dev/null silencia a saída do log.

    torchserve --start --ncs --model-store model_store --models densenet161.mar > /dev/null
  6. Baixe uma imagem de um gatinho e envie-a para o endpoint de TorchServe previsão:

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

    O ponto final da previsão retorna uma previsão JSON semelhante às cinco principais previsões a seguir, em que a imagem tem 47% de probabilidade de conter um gato egípcio, seguida por 46% de chance de ter um gato malhado.

    { "tiger_cat": 0.46933576464653015, "tabby": 0.463387668132782, "Egyptian_cat": 0.0645613968372345, "lynx": 0.0012828196631744504, "plastic_bag": 0.00023323058849200606 }
  7. Ao terminar o teste, interrompa o servidor.

    torchserve --stop

Outros exemplos

TorchServe tem vários exemplos que você pode executar na sua DLAMI instância. Você pode visualizá-los na página de exemplos TorchServe do repositório do projeto.

Mais informações

Para obter mais TorchServe documentação, incluindo como configurar TorchServe o Docker e os TorchServe recursos mais recentes, consulte a página do TorchServe projeto em GitHub.