View a markdown version of this page

Verwenden des ARM64-GPU-DLAMI PyTorch - AWS Deep Learning AMIs

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden des ARM64-GPU-DLAMI PyTorch

Das AWS Deep Learning AMIs ist sofort mit GPUs auf Arm64-Prozessorbasis einsatzbereit und wurde für optimiert geliefert. PyTorch Das PyTorch ARM64-GPU-DLAMI umfasst eine Python-Umgebung, die mit und TorchServe für Anwendungsfälle in den Bereichen PyTorch Deep-Learning-Training und TorchVision Inferenz vorkonfiguriert ist.

PyTorch Überprüfen Sie die Python-Umgebung

Stellen Sie eine Verbindung zu Ihrer G5G-Instanz her und aktivieren Sie die Conda-Basisumgebung mit dem folgenden Befehl:

source activate base

Ihre Eingabeaufforderung sollte angeben, dass Sie in der Conda-Basisumgebung arbeiten, die und PyTorch andere Bibliotheken TorchVision enthält.

(base) $

Überprüfen Sie die Standard-Werkzeugpfade der PyTorch Umgebung:

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

Führen Sie das Trainingsbeispiel aus mit PyTorch

Führen Sie einen Beispiel-MNIST-Trainingsjob aus:

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

Ihre Ausgabe sollte wie folgt aussehen:

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

Führen Sie Inference Sample aus mit PyTorch

Verwenden Sie die folgenden Befehle, um ein vorab trainiertes Densenet161-Modell herunterzuladen und die Inferenz auszuführen mit: 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

Ihre Ausgabe sollte wie folgt aussehen:

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

Verwenden Sie die folgenden Befehle, um die Registrierung des densenet161-Modells aufzuheben und den Server zu stoppen:

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

Ihre Ausgabe sollte wie folgt aussehen:

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