Linux Python のセットアップ
- [アーティクル]
-
-
必須パッケージ
OpenMPI
CNTKでは、OpenMPI 1.10.x がシステムにインストールされている必要があります。
Ubuntu 16.04 では、次のようにインストールします。
sudo apt-get install openmpi-bin
そのライブラリが見つかっていることを確認します。たとえば、設定 LD_LIBRARY_PATH
します。
Linux での Python 用CNTKのインストール
このページでは、Linux で Python から使用するMicrosoft Cognitive Toolkit (CNTK) をインストールするプロセスについて説明します。 Ubuntu 14.04 は、CNTK 2.3.1 以前でサポートされていることに注意してください。 すべてのリリース 2.4 以降では、正式には Ubuntu 16.04 のみがサポートされています。
CNTKビルド環境をセットアップしたり、システムにCNTKをインストールしたりするための他の種類のサポートをお探しの場合は、代わりにここに移動する必要があります。
Python 用のCNTKをインストールする方法は 3 つあります。
-
PyPI のインストール
-
リリースごとに Wheel (.whl) ファイル
-
夜間ビルド
1. PyPI からインストールする
CNTK 2.5 リリースの時点で、ユーザーは PyPI 経由でCNTKをインストールできるようになりました。 Ubuntu 16.04 のみが正式にサポートされていることに注意してください。
CPU 専用バージョンのCNTKをインストールするには:
C:\> pip install cntk
CNTKの GPU バージョンをインストールするには:
C:\> pip install cntk-gpu
既存のCNTKインストールをアップグレードする
以前のバージョン (2.5 以降) のCNTKが既にインストールされている場合は、既存のインストールよりも新しいバージョンのCNTKをインストールできます。
CNTKの CPU 専用バージョンをアップグレードするには:
C:\> pip install --upgrade --no-deps cntk
CNTKの GPU バージョンをアップグレードするには:
C:\> pip install --upgrade --no-deps cntk-gpu
注: 両方 cntk
と cntk-gpu
パッケージを同時にインストールしないことをお勧めします。
2. Wheel ファイルからインストールする
Python と CNTK バージョン (CPU または GPU) に応じて、CNTKをインストールするさまざまなホイール (.whl) ファイルが提供されます。
次の一覧から正しいインストールを選択し、インストール中に名前やリンクを置き換えてください。 CNTK 2.5 以降の場合は、代わりに PyPI を使用してインストールすることをお勧めします。
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.7.post1-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.7.post1-cp27-cp27mu-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.7.post1-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.7.post1-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.7.post1-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.7.post1-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.6-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.6-cp27-cp27mu-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.6-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.6-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.6-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.6-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5.1-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.5.1-cp27-cp27mu-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5.1-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.5.1-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5.1-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.5.1-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.5-cp27-cp27mu-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.5-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk_gpu-2.5-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.4-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.4-cp27-cp27mu-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.4-cp27-cp27mu-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.4-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.4-cp35-cp35m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.4-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.4-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.4-cp36-cp36m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.4-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3.1-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3.1-cp27-cp27mu-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3.1-cp27-cp27mu-linux_x86_64.whl |
3.4 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3.1-cp34-cp34m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3.1-cp34-cp34m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3.1-cp34-cp34m-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3.1-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3.1-cp35-cp35m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3.1-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3.1-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3.1-cp36-cp36m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3.1-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3-cp27-cp27mu-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3-cp27-cp27mu-linux_x86_64.whl |
3.4 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3-cp34-cp34m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3-cp34-cp34m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3-cp34-cp34m-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3-cp35-cp35m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.3-cp36-cp36m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.3-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.2-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp27-cp27mu-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.2-cp27-cp27mu-linux_x86_64.whl |
3.4 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.2-cp34-cp34m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp34-cp34m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.2-cp34-cp34m-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.2-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp35-cp35m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.2-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.2-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp36-cp36m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.2-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.1-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.1-cp27-cp27mu-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.1-cp27-cp27mu-linux_x86_64.whl |
3.4 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.1-cp34-cp34m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.1-cp34-cp34m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.1-cp34-cp34m-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.1-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.1-cp35-cp35m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.1-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.1-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.1-cp36-cp36m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.1-cp36-cp36m-linux_x86_64.whl |
Python |
味 |
URL |
2.7 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp27-cp27mu-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp27-cp27mu-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp27-cp27mu-linux_x86_64.whl |
3.4 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp34-cp34m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp34-cp34m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp34-cp34m-linux_x86_64.whl |
3.5 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp35-cp35m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp35-cp35m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp35-cp35m-linux_x86_64.whl |
3.6 |
CPU-Only |
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp36-cp36m-linux_x86_64.whl |
|
GPU |
https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp36-cp36m-linux_x86_64.whl |
|
GPU-1bit-SGD |
https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp36-cp36m-linux_x86_64.whl |
Anaconda3
Anaconda3 4.1.1 および Python バージョン 2.7、3.5、および Anaconda3 4.3.1 と Python バージョン 3.6 でCNTKをテストしています。 Anaconda3 Python のインストールがない場合は、 Anaconda3 4.1.1 Python for Linux (64 ビット) をインストールします。
以下では、上記の 前提条件 が満たされていることを前提としています。
GPU 対応バージョンのCNTKを使用する場合は、CUDA 9 準拠のグラフィックス カードと最新のグラフィックス ドライバーがシステムにインストールされている必要があります。
また、Anaconda がインストールされており、PATH 内の他の Python インストールの前に表示されることを前提としています。
環境を使用せずに pip をインストールする
これは最も簡単なオプションであり、これを回避する唯一の理由は、特定のバージョンの特定のパッケージが必要な場合です。 古いバージョンの numpy を必要とする他のパッケージがある場合 は、このセクションに進んでください。
初回CNTKインストール
初めてインストールする場合は、CNTKを実行します
$ pip install <url>
ここで <url>
、このページの上部にあるテーブル内の対応するホイール ファイル URL を指定します。 たとえば、Python 3.5 を実行している場合
$ pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.6-cp35-cp35m-linux_x86_64.whl
クイック インストール テストを続行する
既存のCNTKインストールをアップグレードする
以前のバージョンのCNTKが既にインストールされている場合は、既存のインストールに対して新しいバージョンのCNTKをインストールできます。 オプションを--no-deps
指定--upgrade
することが重要です。
$ pip install --upgrade --no-deps <url>
ここで <url>
、このページの上部にあるテーブル内の対応するホイール ファイル URL を指定します。 このアップグレード手順を完了したら、Python でCNTKの操作を開始するか、サンプルとチュートリアルをインストールできます。
クイック インストール テスト
インストールが成功したことを示すクイック テストは、CNTK バージョンに対してクエリを実行することで行うことができます。
$ python -c "import cntk; print(cntk.__version__)"
これでCNTKが正常にインストールされました。Python でCNTKを使用して開発、トレーニング、評価を開始できます。
サンプルとチュートリアルのインストールを続行する
環境での pip のインストール
以下では、Anaconda 内に呼び出cntk-py35
された新しい Python 3.5 環境を作成し、この環境にCNTKを pip インストールします。 別のCNTKバージョン、Python バージョン、または環境名が必要な場合は、それに応じてパラメーターを調整してください。
コマンド シェルを開き、環境を作成し、アクティブにして、CNTK pip-install します。
$ conda create --name cntk-py35 python=3.5 numpy scipy h5py jupyter
$ activate cntk-py35
$ pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.6-cp35-cp35m-linux_x86_64.whl
インストールが成功したことを示すクイック テストは、CNTK バージョンに対してクエリを実行することで行うことができます。
$ python -c "import cntk; print(cntk.__version__)"
これでCNTKが正常にインストールされました。Python でCNTKを使用して開発、トレーニング、評価を開始できます。
サンプルとチュートリアルのインストールを続行する
Anaconda2
Python 2.7 ルート環境が必要な場合は、 Anaconda2 4.3.0 Python for Linux (64 ビット) をインストールすることをお勧めします。
以下では、上記の 前提条件 が満たされていることを前提としています。
GPU 対応バージョンのCNTKを使用する場合は、CUDA 9 準拠のグラフィックス カードと最新のグラフィックス ドライバーがシステムにインストールされている必要があります。
また、Anaconda2 がインストールされており、PATH 内の他の Python インストールの前に表示されることを前提としています。
Anaconda2: pip のインストール
Anaconda2 でのCNTKのインストール手順は、
このページの上部にある URL テーブルから Python 2.7 互換のホイール ファイルを選択してください。
3. ナイトリー ビルドからインストールする
公式リリースではなく、最新の夜間ビルドからCNTKをインストールまたはアップグレードする場合は、CNTK夜間パッケージを提供します。 最新の夜間ビルドからCNTK パッケージにアクセスできます。
夜間ビルドを使用している場合は、サードパーティ製パッケージを個別にインストールし、それらを PATH 環境変数にインストールする必要があります ( ここに記載されている OpenMPI 要件に加えて)。 手順については、次のセクションに従います。 たとえば、GPU バージョンのCNTKをインストールする場合は、次のセクションに示す GPU 固有のパッケージもインストールする必要があります。
環境変数と必要なパッケージ
省略可能: GPU-Specific パッケージ
GPU サポートでCNTKを使用する場合は、このページに従って環境をインストールし、それに応じて構成します。
前述の GPU パッケージをインストールした後、PATH 環境変数に追加します(例:
MKL
既定のCNTK数学ライブラリは、Intel Math Kernel Library (Intel MKL) です。
このページに従ってインストールします
- 環境変数へのパスの
LD_LIBRARY_PATH
エクスポート (例:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
省略可能: OpenCV
CNTK 2.2 では、オープン ソース Computer Vision (OpenCV) をインストールする必要がありますが、CNTK 2.3 以降では省略可能です。
このページに従ってインストールします。
次のコンポーネントを使用する場合は、CNTK 2.3 以降の OpenCV をインストールする必要があります。
- CNTK イメージ リーダー
- CNTKイメージ ライター - TensorBoard のイメージ機能を使用するために必要です。
OpenCV ビルド フォルダーを指す環境変数 LD_LIBRARY_PATH
をエクスポートします (例:
export LD_LIBRARY_PATH=/usr/local/opencv-3.1.0/lib:$LD_LIBRARY_PATH
サンプルとチュートリアルのインストール
CNTKを使用して、さまざまなサンプルとチュートリアルを提供します。 CNTKをインストールしたら、サンプル/チュートリアルと Jupyter ノートブックをインストールできます。 python 環境にCNTKをインストールした場合は、次のコマンドを実行する前に、必ず環境をアクティブ化してください。
$ python -m cntk.sample_installer
これにより、サンプル/チュートリアルがダウンロードされ、必要な Python パッケージがインストールされ、現在の作業ディレクトリの下にある (VERSION
実際の CNTK バージョンに置き換えられます) という名前CNTK-Samples-VERSION
のディレクトリにサンプルがコピーされます。
標準の説明に従って Python からインストールをテストし、チュートリアルまたは Jupyter ノートブックを実行できるようになりました。