すべてのプロダクト
Search
ドキュメントセンター

Elastic GPU Service:ディープラーニング開発のための NGC コンテナ環境のデプロイ

最終更新日:Jun 17, 2026

NVIDIA GPU Cloud (NGC) は、NVIDIA が開発したディープラーニングエコシステムで、開発環境を構築するためのディープラーニングソフトウェアスタックへの無料アクセスを提供します。このトピックでは、TensorFlow を例として、GPU 加速インスタンスに NGC 環境をデプロイする手順を説明します。

背景

  • NGC ウェブサイトでは、Caffe、Caffe2、Microsoft Cognitive Toolkit (CNTK)、MXNet、TensorFlow、Theano、Torch などの主流のディープラーニングフレームワークのさまざまなバージョンのイメージを提供しています。要件に基づいてイメージを選択し、NGC コンテナ環境をデプロイします。このトピックでは TensorFlow を例に説明します。

  • Alibaba Cloud は、Alibaba Cloud Marketplace で NVIDIA Pascal GPU に最適化された NGC コンテナイメージを提供しています。GPU 加速インスタンスを作成する際にこれらのイメージを選択すると、最適化され定期的に更新されるディープラーニングフレームワークを備えた NGC コンテナ環境を迅速にデプロイできます。

制限

NGC 環境は、次のインスタンスファミリーのインスタンスにデプロイできます。

  • gn5i、gn6v、gn6i、gn6e、gn7i、gn7e、および gn7s

  • ebmgn6i、ebmgn6v、ebmgn6e、ebmgn7i、および ebmgn7e

詳細については、「GPU コンピューティング最適化インスタンスファミリー」をご参照ください。

前提条件

説明

開始する前に、NGC ウェブサイトで NGC アカウントが作成済みであることを確認してください。

開始する前に、TensorFlow コンテナイメージの URL を取得しておきます。

  1. NGC ウェブサイトログインします。

  2. 検索ボックスに TensorFlow と入力します。

    検索結果で、TensorFlow コンテナカードをクリックします。

  3. TensorFlow ページで Tags タブをクリックし、目的の TensorFlow コンテナイメージバージョンのパスをコピーします。

    この例では、22.05-tf1-py3 イメージの URL である nvcr.io/nvidia/tensorflow:22.05-tf1-py3 を使用して、GPU 高速化インスタンスにイメージをダウンロードします。

    重要

    TensorFlow イメージの CUDA バージョンは、GPU 加速インスタンスのドライバーバージョンと一致している必要があります。一致しない場合、デプロイは失敗します。バージョンの互換性の詳細については、「TensorFlow リリースノート」をご参照ください。

操作手順

次の例では、gn7i インスタンスを使用して NGC 環境をデプロイします。

  1. GPU 加速インスタンスを作成します。

    詳細については、「カスタム起動タブでのインスタンスの作成」をご参照ください。次の主要なパラメーターを設定します。

    パラメーター

    説明

    [リージョン]

    GPU 加速インスタンスを提供するリージョンを選択します。

    各リージョンでの GPU 加速インスタンスの利用可否を確認するには、「各リージョンで利用可能なインスタンスタイプ」をご参照ください。

    [インスタンス]

    インスタンスタイプを選択します。この例では、gn7i を使用します。

    [イメージ]

    1. Marketplace イメージ タブで、[Alibaba Cloud マーケットプレイスから選択] をクリックします。

    2. 表示されるダイアログボックスに、NVIDIA GPU Cloud Virtual Machine Image と入力し、検索 をクリックします。

    3. イメージを見つけ、選択をクリックします。

    [パブリック IP アドレス]

    [パブリック IPv4 アドレスの割り当て] を選択します。

    説明

    パブリック IP アドレスが割り当てられていない場合は、インスタンスの作成後に Elastic IP アドレス (EIP) をインスタンスに関連付けます。詳細については、「1 つ以上の EIP をインスタンスに関連付ける」をご参照ください。

    [セキュリティグループ]

    TCP ポート 22 が有効になっているセキュリティグループを選択します。インスタンスで HTTPS または Deep Learning GPU Training System (DIGITS) 6 が必要な場合は、HTTPS 用の TCP ポート 443 または DIGITS 6 用の TCP ポート 5000 も有効にします。

  2. 次の表に示すいずれかの方法で、インスタンスに接続します。

    方法

    参考

    Workbench

    パスワードまたはキーを使用して Linux インスタンスに接続する

    VNC

    VNC を使用してインスタンスに接続する

  3. nvidia-smi コマンドを実行して、現在の GPU に関する情報を表示します。

    出力から、ドライバーバージョン515.48.07 で、22.05-tf1-py3 TensorFlow イメージで要求される CUDA 11.7 と互換性があることがわかります。

    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. 次のコマンドを実行して、TensorFlow コンテナイメージをダウンロードします。

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

    TensorFlow コンテナイメージのダウンロードには時間がかかる場合があります。

  5. 次のコマンドを実行して、ダウンロードした TensorFlow コンテナイメージに関する情報を表示します。

    docker image ls

    「TAG」 列に 22.05-tf1-py3 が表示され、イメージがダウンロードされたことが確認できます。

    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. 次のコマンドを実行してコンテナを実行し、TensorFlow 開発環境をデプロイします。

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

    成功すると、次のような出力が表示されます。

    ================
    == 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. 次のコマンドを順番に実行して、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())
    

    TensorFlow が GPU デバイスを期待どおりにロードすると、次の出力のように Hello, TensorFlow! という文字列が出力されます。

    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. 変更した TensorFlow イメージを保存します。

    1. GPU 接続ページで、リモート接続用の新しいウィンドウを開きます。

    2. 次のコマンドを実行して 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. 次のコマンドを実行して、変更した TensorFlow イメージを保存します。

      # CONTAINER_ID を、docker ps コマンドで取得したコンテナ ID (f76a5a4347d など) に置き換えます。 
      docker commit   -m "commit docker" CONTAINER_ID  nvcr.io/nvidia/tensorflow:22.05-tf1-py3
      重要

      変更した TensorFlow イメージが保存されていることを確認してください。保存しない場合、次回インスタンスにログインしたときに変更が失われる可能性があります。