Deep Learning AMI
開発者ガイド

Deep Learning AMI と Conda の使用

Deep Learning AMI と Conda の概要

Conda は、Windows、macOS、および Linux で稼働するオープンソースのパッケージ管理システムおよび環境管理システムです。Conda では、パッケージとその依存関係を迅速にインストール、実行、および更新できます。また、ローカルコンピュータ上で簡単に環境を作成、保存、ロードし、環境を切り替えることができます。

Deep Learning AMI と Conda は、深層学習環境を簡単に切り替えられるように設定されています。次に示す手順では、conda での基本的なコマンドを説明します。これらのコマンドは、フレームワークの基本インポートが機能していることや、フレームワークでいくつかの簡単な操作を実行できることの確認にも役立ちます。その後、DLAMI で提供されているより詳細なチュートリアルや、各フレームワークのプロジェクトサイトにあるフレームワークの例に進むことができます。

ステップ 1: DLAMI へのログイン

サーバーにログインすると、サーバーの「その日のメッセージ (MOTD)」が表示され、さまざまなディープラーニングフレームワークを切り替えるための各種の Conda コマンドが示されます。以下に MOTD の例を示します。新しいバージョンの DLAMI がリリースされる事により、場合によっては特定の MOTD が異なる場合があります。

============================================================================= __| __|_ ) _| ( / Deep Learning AMI (Ubuntu) ___|\___|___| ============================================================================= Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-1062-aws x86_64v) Please use one of the following commands to start the required environment with the framework of your choice: for MXNet(+Keras2) with Python3 (CUDA 9.0 and Intel MKL-DNN) _______________________________ source activate mxnet_p36 for MXNet(+Keras2) with Python2 (CUDA 9.0 and Intel MKL-DNN) _______________________________ source activate mxnet_p27 for TensorFlow(+Keras2) with Python3 (CUDA 9.0 and Intel MKL-DNN) _____________________ source activate tensorflow_p36 for TensorFlow(+Keras2) with Python2 (CUDA 9.0 and Intel MKL-DNN) _____________________ source activate tensorflow_p27 for Theano(+Keras2) with Python3 (CUDA 9.0) _______________________________________________ source activate theano_p36 for Theano(+Keras2) with Python2 (CUDA 9.0) _______________________________________________ source activate theano_p27 for PyTorch with Python3 (CUDA 9.0 and Intel MKL) ________________________________________ source activate pytorch_p36 for PyTorch with Python2 (CUDA 9.0 and Intel MKL) ________________________________________ source activate pytorch_p27 for CNTK(+Keras2) with Python3 (CUDA 9.0 and Intel MKL-DNN) _________________________________ source activate cntk_p36 for CNTK(+Keras2) with Python2 (CUDA 9.0 and Intel MKL-DNN) _________________________________ source activate cntk_p27 for Caffe2 with Python2 (CUDA 9.0) ________________________________________________________ source activate caffe2_p27 for Caffe with Python2 (CUDA 8.0) __________________________________________________________ source activate caffe_p27 for Caffe with Python3 (CUDA 8.0) __________________________________________________________ source activate caffe_p35 for Chainer with Python2 (CUDA 9.0 and Intel iDeep) ______________________________________ source activate chainer_p27 for Chainer with Python3 (CUDA 9.0 and Intel iDeep) ______________________________________ source activate chainer_p36 for base Python2 (CUDA 9.0) __________________________________________________________________ source activate python2 for base Python3 (CUDA 9.0) __________________________________________________________________ source activate python3

各 Conda コマンドのパターンを次に示します。

source activate framework_python-version

たとえば、for MXNet(+Keras1) with Python3 (CUDA 9) _____________________ source activate mxnet_p36 と表示された場合は、環境に MXNet、Keras 1、Python 3、および CUDA 9 が存在しています。また、この環境を有効化するには、次のコマンドを使用します。

$ source activate mxnet_p36

別のバリエーションとして、次のものがあります。

$ source activate mxnet_p27

これは、環境に MXNet と Python 2 (Keras 1 と CUDA 9 を使用) が存在することを示します。

ステップ 2: MXNet Python 3 環境の起動

最初に MXNet をテストし、MXNet がいかに簡単であるかを概説します。

注記

初めて Conda 環境を起動する際には、ロードするまで辛抱して待機してください。Deep Learning AMI と Conda は、EC2 インスタンスにフレームワークの最初のアクティベーションから最も最適化されたフレームワークのバージョンを自動的にインストールします。継続する遅延はありません。

  • Python 3 用の MXNet 仮想環境を有効化します。

    $ source activate mxnet_p36

これにより、Python 3 を使用する MXNet 環境が有効化されます。または、mxnet_p27 を有効化して、Python 2 を使用する環境を有効にすることもできます。

ステップ 3: 一部の MXNet コードのテスト

インストール環境をテストするには、NDArray API を使用して配列を作成および出力する MXNet コードを Python で作成します。詳細については、NDArray API を参照してください。

  1. iPython ターミナルを起動します。

    (mxnet_p36)$ ipython
  2. MXNet をインポートします。

    import mxnet as mx

    サードパーティー製パッケージに関する警告メッセージが表示される場合があります。この署名は無視できます。

  3. NDArray のインスタンスである 5x5 行列を作成します。各要素は 0 に初期設定します。配列を出力します。

    mx.ndarray.zeros((5,5)).asnumpy()

    結果を確認します。

    array([[ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]], dtype=float32)

    MXNet のその他の例については、MXNet チュートリアルセクションを参照してください。

ステップ 4: TensorFlow 環境への切り替え

ここで TensorFlow に切り替えます。 iPython コンソールをまだ終了していない場合は、quit() を使用して、環境を切り替える準備を整えます。

  1. Python 3 用の TensorFlow 仮想環境を有効化します。

    $ source activate tensorflow_p36
  2. iPython ターミナルを起動します。

    (tensorflow_36)$ ipython
  3. クイック TensorFlow プログラムを実行します。

    import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))

"Hello, Tensorflow!" が表示されます。 以上で、2 つの異なるディープラーニングフレームワークのテストが完了し、フレームワークを切り替える方法について確認しました。

ヒント

既知の問題に関する情報については、リリースノートを参照してください。

次回の予定

Jupyter ノートブックチュートリアルを実行する

環境を削除する

DLAMI にスペースが足りない場合、使用していない Conda パッケージをアンインストールすることを選択できます。

conda env list conda env remove –name <env_name>