Todos os produtos
Search
Central de documentação

Elastic GPU Service:Deploy an NGC container environment for deep learning development

Última atualização: Jun 27, 2026

O NVIDIA GPU Cloud (NGC) é um ecossistema de deep learning desenvolvido pela NVIDIA que oferece acesso gratuito a pilhas de software para a construção de ambientes de desenvolvimento. Este tópico descreve como implantar um ambiente NGC em uma instância acelerada por GPU, usando o TensorFlow como exemplo.

Informações básicas

  • O site do NGC fornece imagens de diferentes versões dos principais frameworks de deep learning, como Caffe, Caffe2, Microsoft Cognitive Toolkit (CNTK), MXNet, TensorFlow, Theano e Torch. Selecione uma imagem para implantar um ambiente de contêiner NGC conforme suas necessidades. Este tópico usa o TensorFlow como exemplo.

  • A Alibaba Cloud disponibiliza imagens de contêiner NGC otimizadas para GPUs NVIDIA Pascal no Alibaba Cloud Marketplace. Ao criar instâncias aceleradas por GPU, selecione essas imagens para implantar rapidamente ambientes de contêiner NGC com frameworks de deep learning otimizados e atualizados regularmente.

Limites

É possível implantar ambientes NGC nas seguintes famílias de instâncias ECS:

  • gn5i, gn6v, gn6i, gn6e, gn7i, gn7e e gn7s

  • ebmgn6i, ebmgn6v, ebmgn6e, ebmgn7i e ebmgn7e

Para mais informações, consulte Famílias de instâncias otimizadas para computação acelerada por GPU.

Pré-requisitos

Nota

Antes de começar, certifique-se de ter criado uma conta NGC no site do NGC.

Obtenha a URL da imagem do contêiner TensorFlow antes de iniciar o processo.

  1. Faça login no site do NGC.

  2. Na caixa de pesquisa, insira TensorFlow.

    Nos resultados da busca, clique em cartão do contêiner TensorFlow.

  3. Na página do TensorFlow, clique em aba Tags e copie o caminho da versão desejada da imagem do contêiner TensorFlow.

    Neste exemplo, a URL da imagem 22.05-tf1-py3 é nvcr.io/nvidia/tensorflow:22.05-tf1-py3. Você usará esse endereço para baixar a imagem em uma instância acelerada por GPU.

    Importante

    A versão do CUDA na imagem do TensorFlow deve corresponder à versão do driver da instância acelerada por GPU. Caso contrário, a implantação falhará. Para obter informações sobre compatibilidade de versões, consulte as Notas de Lançamento do TensorFlow.

Procedimento

O exemplo a seguir usa uma instância ECS gn7i para implantar um ambiente NGC.

  1. Crie uma instância acelerada por GPU.

    Para mais informações, consulte Criar uma instância na aba Custom Launch. Configure os seguintes parâmetros principais:

    Parâmetro

    Descrição

    Region

    Selecione uma região que ofereça instâncias aceleradas por GPU.

    Para verificar a disponibilidade de instâncias aceleradas por GPU em cada região, consulte Tipos de instância disponíveis por região.

    Instance

    Selecione um tipo de instância. Neste exemplo, usamos a gn7i.

    Images

    1. Na aba Marketplace Images, clique em Select from Alibaba Cloud Marketplace.

    2. Na caixa de diálogo exibida, insira NVIDIA GPU Cloud Virtual Machine Image e clique em Search.

    3. Localize a imagem e clique em Use.

    Images

    Marque a opção Marketplace Images.

    Nota

    Se nenhum endereço IP público for atribuído, associe um Elastic IP Address (EIP) à instância após a criação. Para mais detalhes, consulte Associar um ou mais EIPs a uma instância.

    Select from Alibaba Cloud Marketplace

    Selecione um grupo de segurança com a porta TCP 22 habilitada. Se sua instância exigir HTTPS ou Deep Learning GPU Training System (DIGITS) 6, ative também a porta TCP 443 para HTTPS ou a porta TCP 5000 para DIGITS 6.

  2. Conecte-se à instância usando um dos métodos descritos na tabela a seguir.

    Método

    Referências

    Workbench

    Conectar-se a uma instância Linux usando senha ou chave

    VNC

    Conectar-se a uma instância usando VNC

  3. Execute o comando nvidia-smi para visualizar informações sobre a GPU atual.

    A saída indica que a Driver Version é 515.48.07, compatível com o CUDA 11.7 exigido pela imagem TensorFlow 22.05-tf1-py3.

    root@xxxszfZ:~# nvidia-smi
    Sun Apr  7 11:01:55 2024
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 515.48.07    Driver Version: 515.48.07    CUDA Version: 11.7     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  NVIDIA A10          On   | 00000000:00:07.0 Off |                    0 |
    | N/A   32C    P8    14W / 150W |      2MiB / 23028MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
  4. Execute o comando a seguir para baixe a imagem do contêiner TensorFlow:

    docker pull nvcr.io/nvidia/tensorflow:22.05-tf1-py3
    Importante

    O download da imagem do contêiner TensorFlow pode levar bastante tempo.

  5. Execute o comando a seguir para visualize informações sobre a imagem do contêiner TensorFlow baixada:

    docker image ls

    A coluna TAG exibe 22.05-tf1-py3, o que confirma o download da imagem.

    root@xxx lz:~# docker image ls
    REPOSITORY                    TAG              IMAGE ID       CREATED        SIZE
    nvcr.io/nvidia/tensorflow     22.05-tf1-py3    7c92d95961e9   2 years ago    14.4GB
  6. Execute o comando a seguir para implantar o ambiente de desenvolvimento TensorFlow iniciando o contêiner:

    docker run --gpus all --rm -it nvcr.io/nvidia/tensorflow:22.05-tf1-py3

    Em caso de sucesso, uma saída semelhante à seguinte será exibida:

    ================
    == TensorFlow ==
    ================
    NVIDIA Release 22.05-tf1 (build 18410160)
    TensorFlow Version 1.15.5
    Container image Copyright (c) 2020, NVIDIA CORPORATION.  All rights reserved.
    Copyright 2017-2020 The TensorFlow Authors.  All rights reserved.
    NVIDIA Deep Learning Profiler (dlprof) Copyright (c) 2020, NVIDIA CORPORATION.  All rights reserved.
    Various files include modifications (c) NVIDIA CORPORATION.  All rights reserved.
    NVIDIA modifications are covered by the license terms that apply to the underlying project or file.
    NOTE: MOFED driver for multi-node communication was not detected.
          Multi-node communication performance may be reduced.
  7. Execute os comandos a seguir em sequência para testar o TensorFlow:

    python
    import tensorflow as tf
    hello = tf.constant('Hello, TensorFlow!')
    with tf.compat.v1.Session() as sess:
        result = sess.run(hello)
        print(result.decode())
    

    Se o TensorFlow carregar o dispositivo GPU conforme esperado, a string Hello, TensorFlow! será impressa, conforme mostrado na saída a seguir.

    2024-08-21 04:17:14.076698: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1351] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 20427 MB memory) -> physical GPU (device: 0, name: NVIDIA A10, pci bus id: 0000:00:07.0, compute capability: 8.6)
    2024-08-21 04:17:14.077064: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1082] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
    2024-08-21 04:17:14.077724: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1351] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 20427 MB memory) -> physical GPU (device: 1, name: NVIDIA A10, pci bus id: 0000:00:08.0, compute capability: 8.6)
    2024-08-21 04:17:14.078021: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1082] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
    2024-08-21 04:17:14.078688: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1351] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:2 with 20427 MB memory) -> physical GPU (device: 2, name: NVIDIA A10, pci bus id: 0000:00:09.0, compute capability: 8.6)
    2024-08-21 04:17:14.078955: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1082] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
    2024-08-21 04:17:14.079624: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1351] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:3 with 20427 MB memory) -> physical GPU (device: 3, name: NVIDIA A10, pci bus id: 0000:00:0a.0, compute capability: 8.6)
    Hello, TensorFlow!
    >>>
  8. Salve a imagem modificada do TensorFlow.

    1. Na página de conexão da GPU, abra uma nova janela para conexão remota.

    2. Execute o comando a seguir para consultar o CONTAINER_ID:

      docker ps
      root@xxxg9dZ:~# docker ps
      CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS          PORTS                                NAMES
      f76a5a4347df   nvcr.io/nvidia/tensorflow:22.05-tf1-py3      "/opt/nvidia/nvidia_..."  46 seconds ago   Up 45 seconds   6006/tcp, 6064/tcp, 8888/tcp         reverent_brattain
      68xxxxxxfba    nvcr.io/nvidia/tensorflow:22.05-tf1-py3      "/opt/nvidia/nvidia_..."  9 minutes ago    Up 9 minutes    6006/tcp, 6064/tcp, 8888/tcp         jolly_liskov
    3. Execute o comando a seguir para salve a imagem modificada do TensorFlow:

      # Replace CONTAINER_ID with the container ID that is queried by using the docker ps command, such as f76a5a4347d. 
      docker commit   -m "commit docker" CONTAINER_ID  nvcr.io/nvidia/tensorflow:20.01-tf1-py3
      Importante

      Certifique-se de salvar a imagem modificada do TensorFlow. Caso contrário, as alterações poderão ser perdidas na próxima vez que você fizer login na instância.