

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Il ARM64 DLAMI
<a name="tutorial-arm64"></a>

AWS ARM64 DLAMIs Le GPU sono progettate per fornire prestazioni elevate ed efficienza in termini di costi per carichi di lavoro di deep learning. In particolare, il tipo di istanza G5G presenta il [processore AWS Graviton2](https://aws.amazon.com/ec2/graviton/) basato su ARM64, che è stato costruito da zero AWS e ottimizzato per il modo in cui i clienti eseguono i propri carichi di lavoro nel cloud. AWS ARM64 DLAMIs Le GPU sono preconfigurate con Docker, NVIDIA Docker, NVIDIA Driver, CUDA, cuDNN, NCCL, oltre ai più diffusi framework di machine learning come e. TensorFlow PyTorch

Con il tipo di istanza g5G, puoi sfruttare i vantaggi in termini di prezzo e prestazioni di Graviton2 per implementare modelli di deep learning accelerati da GPU a un costo notevolmente inferiore rispetto alle istanze basate su x86 con accelerazione GPU.

## Seleziona un ARM64 DLAMI
<a name="tutorial-arm64-select-dlami"></a>

Avvia un'[istanza g5G](https://aws.amazon.com/ec2/instance-types/g5g/) con il ARM64 DLAMI che preferisci. 

Per step-by-step istruzioni sull'avvio di un DLAMI, [vedere Avvio e configurazione](https://docs.aws.amazon.com/dlami/latest/devguide/launch-config.html) di un DLAMI. 

Per un elenco delle più recenti ARM64 DLAMIs, consultate le [Note di rilascio per DLAMI](https://docs.aws.amazon.com/dlami/latest/devguide/appendix-ami-release-notes.html).

## Nozioni di base
<a name="tutorial-arm64-get-started"></a>

I seguenti argomenti mostrano come iniziare a utilizzare ARM64 DLAMI. 

**Topics**
+ [Seleziona un ARM64 DLAMI](#tutorial-arm64-select-dlami)
+ [Nozioni di base](#tutorial-arm64-get-started)
+ [Utilizzo della ARM64 GPU DLAMI PyTorch](tutorial-arm64-pytorch.md)

# Utilizzo della ARM64 GPU DLAMI PyTorch
<a name="tutorial-arm64-pytorch"></a>

 AWS Deep Learning AMIs È pronto per l'uso con processori GPUs Arm64 ed è ottimizzato per. PyTorch La ARM64 GPU PyTorch DLAMI include un ambiente Python preconfigurato [PyTorch](https://aws.amazon.com/pytorch)con [TorchVision[TorchServe](https://pytorch.org/serve/)](https://pytorch.org/vision/stable/index.html)e per casi d'uso di deep learning e inferenza.

**Topics**
+ [Verifica dell' PyTorch ambiente Python](#tutorial-arm64-pytorch-environment)
+ [Esegui Training Sample con PyTorch](#tutorial-arm64-pytorch-training)
+ [Esegui Inference Sample con PyTorch](#tutorial-arm64-pytorch-inference)

## Verifica dell' PyTorch ambiente Python
<a name="tutorial-arm64-pytorch-environment"></a>

Connettiti alla tua istanza G5g e attiva l'ambiente Conda di base con il seguente comando:

```
source activate base
```

Il prompt dei comandi dovrebbe indicare che stai lavorando nell'ambiente Conda di base, che contiene e altre PyTorch librerie TorchVision.

```
(base) $
```

Verificate i percorsi utensile predefiniti dell' PyTorch ambiente:

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

## Esegui Training Sample con PyTorch
<a name="tutorial-arm64-pytorch-training"></a>

Esegui un esempio di lavoro di formazione MNIST:

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

L'aspetto dell'output sarà simile al seguente:

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

## Esegui Inference Sample con PyTorch
<a name="tutorial-arm64-pytorch-inference"></a>

Usa i seguenti comandi per scaricare un modello densenet161 pre-addestrato ed eseguire l'inferenza utilizzando: 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
```

L'aspetto dell'output sarà simile al seguente:

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

Utilizzate i seguenti comandi per annullare la registrazione del modello densenet161 e arrestare il server:

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

L'aspetto dell'output sarà simile al seguente:

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