En utilisant le ARM64 GPU PyTorch DLAMI - AWS Apprentissage profond (deep learning) AMIs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

En utilisant le ARM64 GPU PyTorch DLAMI

AWS Apprentissage profond (deep learning) AMIs Il est prêt à être utilisé avec le processeur Arm64 et est GPUs optimisé pour. PyTorch ARM64GPU PyTorch DLAMIIl inclut un environnement Python préconfiguré avec et TorchServepour PyTorchles TorchVisioncas d'utilisation de l'apprentissage profond et de l'inférence.

Vérifier l'environnement PyTorch Python

Connectez-vous à votre instance G5g et activez l'environnement Conda de base à l'aide de la commande suivante :

source activate base

Votre invite de commande doit indiquer que vous travaillez dans l'environnement Conda de base, qui contient PyTorch TorchVision, et d'autres bibliothèques.

(base) $

Vérifiez les trajectoires d'outils par défaut de l' PyTorch environnement :

(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)

Exécutez un exemple d'entraînement avec PyTorch

Exécutez un exemple de tâche MNIST de formation :

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

Votre sortie doit ressembler à ce qui suit :

... 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%)

Exécutez un échantillon d'inférence avec PyTorch

Utilisez les commandes suivantes pour télécharger un modèle densenet161 préentraîné et exécuter l'inférence à l'aide de : 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

Votre sortie doit ressembler à ce qui suit :

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

Utilisez les commandes suivantes pour annuler l'enregistrement du modèle densenet161 et arrêter le serveur :

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

Votre sortie doit ressembler à ce qui suit :

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