私が取った手順は以下のとおりです。ステップ中に、./configure
(必要に応じて) v5.1.5 を指定する代わりに cuDNN バージョン (v5) のシステム デフォルトを許可しない限り、cuDNN の環境バージョン (v5) がターゲット バージョンと一致しないというエラーが表示されます。 (5.1.5)。Nvidia から CUDA 8.0 用の cuDNN v5.1.5 ファイルをダウンロードしたので、困惑しています。
さらに、https://github.com/tensorflow/tensorflow/blob/master/third_party/gpus/cuda_configure.bzlの 240 行目あたりを掘り下げた後、bazel configure スクリプトがチェックするバージョンは、 cuDNN バージョンのメジャー数字を考慮に入れます (cudnn.h 内のメジャー、マイナー、パッチの数字はそれぞれ 5、1、5 です)。したがって、どのようにしてバージョン 5.1.5 をインストールできるようになるかはわかりません。多分私はそれを間違って見ていますか?
いずれにせよ、g2.2xlarge インスタンスに CUDA 8.0 と Tensorflow 0.12 を使用して cuDNN 5.1.5 をインストールする方法はありますか?
ありがとう!
手順
(注:これらは機能しますが、必要に応じて5.1.5ではなく、cuDNN 5.0をインストールします)
プロビジョニング
- 次のプロビジョニング手順に従ってください: https://medium.com/@giltamari/tensorflow-getting-started-gpu-installation-on-ec2-9b9915d95d6f#.2hv67eeek
(つまり、以下を含みません
sudo apt-get update && sudo apt-get -y upgrade
)
依存関係とツールのインストール
- 以下に慣れる:
- http://expressionflow.com/2016/10/09/installing-tensorflow-on-an-aws-ec2-p2-gpu-instance/
- http://ramhiser.com/2016/01/05/installing-tensorflow-on-an-aws-ec2-instance-with-gpu-support/
- https://alliseesolutions.wordpress.com/2016/09/08/install-gpu-tensorflow-from-sources-w-ubuntu-16-04-and-cuda-8-0-rc/
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y build-essential git python-pip libfreetype6-dev libxft-dev libncurses-dev libopenblas-dev gfortran python-matplotlib libblas-dev liblapack-dev libatlas-base-dev python-dev python-pydot linux-headers-generic linux-image-extra-virtual unzip python-numpy swig python-pandas python-sklearn unzip wget pkg-config zip g++ zlib1g-dev libcurl3-dev
sudo pip install -U pip
Cuda 8 のインストール
wget https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
rm cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
sudo apt-get update
sudo apt-get install -y cuda
cuDNN のインストール
- cuDNN の最新バージョンをダウンロードしてインストールします。cuDNN をダウンロードするには、NVIDIA 開発者サイトにログインする必要があるため、wget を使用してファイルをフェッチすることはできません。NVIDIA から次のファイルをダウンロードし、AWS インスタンスにアップロードします。
- Linux で CUDA 8.0 用の cuDNN 5.1 をダウンロードします。
- scp -i ssh-key.pem パス/to/downloaded/cudnn ubuntu@ec2{インスタンス}.us-west-1.compute.amazonaws.com:~/
sudo tar -xzvf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
環境を構成する
- の最後に以下を入れます
~/.bashrc
:export CUDA_HOME=/usr/local/cuda
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64:$CUDA_ROOT/extras/CUPTI/lib64
source ~/.bashrc
sudo reboot
ベゼルの取り付け
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf- set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf- set-selections
sudo apt-get install -y oracle-java8-installer
sudo apt-get install pkg-config zip g++ zlib1g-dev
https://github.com/bazelbuild/bazel/releases/download/0.3.2/bazel-0.3.2-installer-linux-x86_64.sh
ローカルマシンからec2インスタンスへのscpchmod +x bazel-0.1.4-installer-linux-x86_64.sh
./bazel-0.1.4-installer-linux-x86_64.sh --user
rm bazel-0.1.4-installer-linux-x86_64.sh
bazel version
Tensorflow のビルドとインストール
git clone --recurse-submodules https://github.com/tensorflow/tensorflow
cd tensorflow
TF_UNOFFICIAL_SETTING=1 ./configure
- 以下を除くすべてに対してEnter/デフォルトを押します。
- CUDA バージョン = 8.0、CUDA 依存関係 = 3.0 (k520 gpu)
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
sudo pip install --upgrade /tmp/tensorflow_pkg/tensorflow-0.12.0rc1-cp27-cp27mu-linux_x86_64.whl