

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 der ARM64 GPU PyTorch DLAMI
<a name="tutorial-arm64-pytorch"></a>

Der AWS Deep Learning AMIs ist sofort einsatzbereit mit dem Arm64-Prozessor und ist optimiert für. GPUs PyTorch Die ARM64 GPU PyTorch DLAMI umfasst eine Python-Umgebung, die mit [PyTorch[TorchVision](https://pytorch.org/vision/stable/index.html)](https://aws.amazon.com/pytorch), und [TorchServe](https://pytorch.org/serve/)für Deep-Learning-Training und Inferenz-Anwendungsfälle vorkonfiguriert ist.

**Topics**
+ [PyTorch Python-Umgebung überprüfen](#tutorial-arm64-pytorch-environment)
+ [Trainingsbeispiel ausführen mit PyTorch](#tutorial-arm64-pytorch-training)
+ [Führen Sie ein Inferenzbeispiel aus mit PyTorch](#tutorial-arm64-pytorch-inference)

## PyTorch Python-Umgebung überprüfen
<a name="tutorial-arm64-pytorch-environment"></a>

Connect zu Ihrer G5g-Instance her und aktivieren Sie die Conda-Basisumgebung mit dem folgenden Befehl:

```
source activate base
```

Ihre Eingabeaufforderung sollte darauf hinweisen, dass Sie in der Conda-Basisumgebung arbeiten, die PyTorch TorchVision, und andere Bibliotheken 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)
```

## Trainingsbeispiel ausführen mit PyTorch
<a name="tutorial-arm64-pytorch-training"></a>

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 ein Inferenzbeispiel aus mit PyTorch
<a name="tutorial-arm64-pytorch-inference"></a>

Verwenden Sie die folgenden Befehle, um ein vortrainiertes 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 anzuhalten:

```
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.
```