View a markdown version of this page

Uso de la GPU PyTorch DLAMI ARM64 - 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.

Uso de la GPU PyTorch DLAMI ARM64

AWS Deep Learning AMIs Está lista para usarse con las GPU basadas en el procesador Arm64 y viene optimizada para ello. PyTorch La GPU PyTorch DLAMI ARM64 incluye un entorno Python PyTorchpreconfigurado TorchVisioncon y para casos de uso de inferencia TorchServey entrenamiento de aprendizaje profundo.

Verificar el entorno de PyTorch Python

Conéctese a su instancia de G5g y active el entorno base de Conda con el siguiente comando:

source activate base

La línea de comandos debe indicar que está trabajando en el entorno base de Conda, que contiene PyTorch TorchVision, y otras bibliotecas.

(base) $

Compruebe las rutas de herramientas predeterminadas del PyTorch entorno:

(base) $ which python (base) $ which pip (base) $ which conda (base) $ which mamba >>> import torch, torchvision >>> torch.__version__ >>> torchvision.__version__ >>> v = torch.autograd.Variable(torch.randn(10, 3, 224, 224)) >>> v = torch.autograd.Variable(torch.randn(10, 3, 224, 224)).cuda() >>> assert isinstance(v, torch.Tensor)

Ejecute un ejemplo de entrenamiento con PyTorch

Ejecute un ejemplo de trabajo de entrenamiento sobre MNIST:

git clone https://github.com/pytorch/examples.git cd examples/mnist python main.py

El resultado debería tener un aspecto similar al siguiente:

... Train Epoch: 14 [56320/60000 (94%)] Loss: 0.021424 Train Epoch: 14 [56960/60000 (95%)] Loss: 0.023695 Train Epoch: 14 [57600/60000 (96%)] Loss: 0.001973 Train Epoch: 14 [58240/60000 (97%)] Loss: 0.007121 Train Epoch: 14 [58880/60000 (98%)] Loss: 0.003717 Train Epoch: 14 [59520/60000 (99%)] Loss: 0.001729 Test set: Average loss: 0.0275, Accuracy: 9916/10000 (99%)

Ejecute un ejemplo de inferencia con PyTorch

Utilice los siguientes comandos para descargar un modelo densenet161 previamente entrenado y ejecutar la inferencia mediante: TorchServe

# Set up TorchServe cd $HOME git clone https://github.com/pytorch/serve.git mkdir -p serve/model_store cd serve # Download a pre-trained densenet161 model wget https://download.pytorch.org/models/densenet161-8d451a50.pth >/dev/null # Save the model using torch-model-archiver torch-model-archiver --model-name densenet161 \ --version 1.0 \ --model-file examples/image_classifier/densenet_161/model.py \ --serialized-file densenet161-8d451a50.pth \ --handler image_classifier \ --extra-files examples/image_classifier/index_to_name.json \ --export-path model_store # Start the model server torchserve --start --no-config-snapshots \ --model-store model_store \ --models densenet161=densenet161.mar &> torchserve.log # Wait for the model server to start sleep 30 # Run a prediction request curl http://127.0.0.1:8080/predictions/densenet161 -T examples/image_classifier/kitten.jpg

El resultado debería tener un aspecto similar al siguiente:

{ "tiger_cat": 0.4693363308906555, "tabby": 0.4633873701095581, "Egyptian_cat": 0.06456123292446136, "lynx": 0.0012828150065615773, "plastic_bag": 0.00023322898778133094 }

Utilice los siguientes comandos para anular el registro del modelo densenet161 y detener el servidor:

curl -X DELETE http://localhost:8081/models/densenet161/1.0 torchserve --stop

El resultado debería tener un aspecto similar al siguiente:

{ "status": "Model \"densenet161\" unregistered" } TorchServe has stopped.