NVIDIA のディープラーニングエコシステムとして、NGC (NVIDIA GPU CLOUD) を使用すると、開発者はディープラーニングソフトウェアスタックに無料でアクセスでき、ディープラーニング開発環境を作るのに適しています。

現在、NGC は gn5 インスタンスに完全にデプロイされています。 さらに、イメージマーケットは、NVIDIA Pascal GPU 用に最適化された NGC コンテナー画像も提供しています。 イメージマーケットから NGC コンテナー画像をデプロイすることで、開発者は NGC コンテナー環境を手軽に構築することができ、最適化されたディープラーニングフレームワークに即座にアクセスできるため、製品開発および業務デプロイ時間が大幅に短縮されます。 その他の利点として、開発環境の事前インストール、最適化されたアルゴリズムフレームワークのサポート、継続的な更新などがあります。

NGC Web サイトは、現在の主流のディープラーニングフレームワーク (Caffe、Caffe2、CNTK、MxNet、TensorFlow、Theano、Torch など) のさまざまなバージョンのイメージを提供します。 環境を構築するために希望のイメージを選択することができます。 例として TensorFlow ディープラーニングフレームワークを挙げ、 gn5 インスタンス上で NGC 環境を構築する方法について説明します。

TensorFlow 環境を構築する前に、以下を行う必要があります。

  • Alibaba Cloud にサインアップして、本名の登録を終了します。
  • NGC Web サイトにログインし、NGC アカウントを作成します。
  • NGC Web サイトにログインし、NGC API キーを取得してローカルに保存します。 NGC コンテナー環境にログインすると、NGC API キーが検証されます。

手順

  1. ECS インスタンスの作成」を参照して、gn5 インスタンスを作成します。 以下の設定に注意します。
    • リージョン: 中国 (青島)、中国 (北京)、中国 (フフホト)、中国 (杭州)、中国 (上海)、中国 (深セン)、中国 (香港)、シンガポール、オーストラリア (シドニー)、米国 (シリコンバレー)、米国 (バージニア)、ドイツ (フランクフルト) のみが利用できます。
    • インスタンス: gn5 インスタンスタイプを選択します。
    • イメージ: [イメージマーケット] を選択します。 表示されたダイアログボックスで、 [NVIDIA GPU Cloud VM イメージ] を検索し、[続行] をクリックします。
    • ネットワーク請求方法: [パブリック IP の割り当て] を選択します。
      ここでパブリックIPアドレスを割り当てない場合は、インスタンスが正常に作成された後に EIP アドレスをバインドできます。
    • セキュリティグループ: セキュリティグループを選択します。 セキュリティグループで、TCP ポート 22 へのアクセスを許可する必要があります。 インスタンスが HTTPS または DIGITS 6 をサポートする必要がある場合、TCP ポート 443 (HTTPS 用) または TCP ポート5000 (DIGITS 6 用) へのアクセスを許可する必要があります。

    ECS インスタンスが正常に作成された後、ECS コンソールにログインし、インスタンスのパブリック IP アドレスを書き留めます。

  2. ECS インスタンスに接続します。インスタンス作成中に選択したログオン認証情報に基づいて、パスワードを使用して ECS インスタンスに接続するか、または SSH キーペアを使用して ECS インスタンスに接続することができます。
  3. NGC Web サイトから取得した NGC API キーを入力し、Enter キーを押して NGC コンテナー環境にログインします。

    NGC API キーの入力
  4. nvidia-smi を実行します。 以下に示すように、GPU モデル、ドライバーのバージョンなど、現在の GPU に関する情報を表示できます。

    nvidia-smi の実行結果
  5. 以下の手順に従って TensorFlow 環境を構築します。
    1. NGC Web サイトにログインし、TensorFlow イメージページに移動し、docker pull コマンドを取得します。

      TensorFlow ミラーイメージページ
    2. TensorFlow イメージをダウンロードします。
      docker pull nvcr.io/nvidia/tensorflow:18.03-py3
      
    3. ダウンロードしたイメージを表示します。
      docker image ls
      
    4. コンテナーを実行して TensorFlow 開発環境をデプロイします。
      nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:18.03-py3
      

      コンテナーの実行
  6. 以下のいずれかの方法を使用して TensorFlow をテストします。
    • TensorFlow の簡易テスト。
       $python
      
       >>> import tensorflow as tf
       >>> hello = tf.constant('Hello, TensorFlow!')
      >>> sess = tf.Session()
      >>> sess.run(hello)
      
      TensorFlow が GPU デバイスを正しくロードすると、結果は以下のようになります。
      簡易テストの結果
    • TensorFlow モデルをダウンロードして TensorFlow をテストします。
      git clone https://github.com/tensorflow/models.git
      cd models/tutorials/image/alexnet
      python alexnet_benchmark.py --batch_size 128 --num_batches 100
      
      実行状態は以下のとおりです。
      モデルテスト
  7. TensorFlow イメージに加えた変更を保存します。 保存しないと、次回ログイン時に設定が失われます。