

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

AWS ARM64 As GPUs DLAMIs são projetadas para fornecer alto desempenho e economia para cargas de trabalho de aprendizado profundo. Especificamente, o tipo de instância G5g apresenta o [processador AWS Graviton2](https://aws.amazon.com/ec2/graviton/) baseado em ARM64, que foi desenvolvido do zero AWS e otimizado para a forma como os clientes executam suas cargas de trabalho na nuvem. AWS ARM64 As GPUs DLAMIs são pré-configuradas com Docker, NVIDIA Docker, NVIDIA Driver, CUDA, cuDNN, NCCL, além de estruturas populares de aprendizado de máquina, como e. TensorFlow PyTorch

Com o tipo de instância G5g, você pode aproveitar os benefícios de preço e desempenho do Graviton2 para implantar modelos de aprendizado profundo acelerados por GPU a um custo significativamente menor em comparação com instâncias que usam como base x86 com aceleração de GPU.

## Selecione um ARM64 DLAMI
<a name="tutorial-arm64-select-dlami"></a>

Execute uma [instância G5g](https://aws.amazon.com/ec2/instance-types/g5g/) com o ARM64 DLAMI de sua escolha. 

Para step-by-step obter instruções sobre como iniciar uma DLAMI, [consulte Iniciando e configurando](https://docs.aws.amazon.com/dlami/latest/devguide/launch-config.html) uma DLAMI. 

Para obter uma lista das mais recentes ARM64 DLAMIs, consulte as [notas de lançamento do DLAMI](https://docs.aws.amazon.com/dlami/latest/devguide/appendix-ami-release-notes.html).

## Conceitos básicos
<a name="tutorial-arm64-get-started"></a>

Os tópicos a seguir mostram como começar a usar o ARM64 DLAMI. 

**Topics**
+ [Selecione um ARM64 DLAMI](#tutorial-arm64-select-dlami)
+ [Conceitos básicos](#tutorial-arm64-get-started)
+ [Usando a ARM64 GPU DLAMI PyTorch](tutorial-arm64-pytorch.md)

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

O AMIs de deep learning da AWS está pronto para uso com processador Arm64 baseado em processador e vem GPUs otimizado para. PyTorch O ARM64 GPU PyTorch DLAMI inclui um ambiente Python [PyTorch](https://aws.amazon.com/pytorch)pré-configurado [TorchVision](https://pytorch.org/vision/stable/index.html)com, [TorchServe](https://pytorch.org/serve/)e para casos de uso de treinamento e inferência de aprendizado profundo.

**Topics**
+ [Verifique o PyTorch ambiente Python](#tutorial-arm64-pytorch-environment)
+ [Execute uma amostra de treinamento com PyTorch](#tutorial-arm64-pytorch-training)
+ [Execute uma amostra de inferência com PyTorch](#tutorial-arm64-pytorch-inference)

## Verifique o PyTorch ambiente Python
<a name="tutorial-arm64-pytorch-environment"></a>

Conecte-se à sua instância G5g e ative o ambiente básico do Conda com o seguinte comando:

```
source activate base
```

Seu prompt de comando deve indicar que você está trabalhando no ambiente básico do Conda, que contém PyTorch TorchVision, e outras bibliotecas.

```
(base) $
```

Verifique os caminhos de ferramentas padrão do 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)
```

## Execute uma amostra de treinamento com PyTorch
<a name="tutorial-arm64-pytorch-training"></a>

Execute uma amostra de trabalho de treinamento do MNIST:

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

O resultado deve ser semelhante ao seguinte:

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

## Execute uma amostra de inferência com PyTorch
<a name="tutorial-arm64-pytorch-inference"></a>

Use os comandos a seguir para baixar um modelo densenet161 pré-treinado e executar a inferência usando: 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
```

O resultado deve ser semelhante ao seguinte:

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

Use os comandos a seguir para cancelar o registro do modelo densenet161 e parar o servidor:

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

O resultado deve ser semelhante ao seguinte:

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