編集履歴
2018/04/02 cudnnのverが間違っていて動かなかったのを修正
2018/04/01 cuda toolkitのver.を9.1→9.0に変更したのに合わせてコードを修正
前回の続きです。
今回は前回作ったnvidia-dockerを使って、tensorflowとkeras、anacondaの入ったコンテナを立てます。 まず、Dockerのイメージをpullします。
# cuda9.1、cudnn7のdockerイメージを取ってくる
docker pull nvidia/cuda:9.0-cudnn7-runtime-ubuntu16.04
続いてAnaconda等を入れていきます。 本当はdockerfileを使って自動化したかったんですが、AnacondaのインストールがDockerfile経由だと上手く行かないのでイメージを新しく作ることにしました。
# testという名前のコンテナを作成、名前は適宜変更してください nvidia-docker run --name test -it nvidia/cuda:9.0-cudnn7-runtime-ubuntu16.04 # ここからコンテナ内で作業 # 最低限必要なものをインストール apt-get -y update && apt-get -y upgrade apt-get install -y sudo wget bzip2 wget https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh bash Anaconda3-5.1.0-Linux-x86_64.sh rm -f Anaconda3-5.1.0-Linux-x86_64.sh source ~/.bashrc #インストール時にパスを追加し忘れたら 動作未確認 #echo export PATH='/root/anaconda3/bin:$PATH' >> ~/.bash_profile # TensorflowとKerasのインストール pip install --upgrade tensorflow-gpu pip install keras # tensorflowとcudnnのver. を合わせるためにcudnnを7.1から7.0にダウングレードする # やらない場合以下のエラーが出る # Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms) # 参考:https://github.com/tensorflow/tensorflow/issues/17566 apt-get install --allow-downgrades libcudnn7=7.0.5.15-1+cuda9.0
ここで一旦exit
でコンテナから抜けます。
# 今作ったコンテナから dockerのイメージを作成 docker commit test gpu-container # イメージを作成するのに使ったコンテナを破棄 docker rm test # Jupyterに接続するためにコンテナからホストにポートフォワードする必要があるので # ポートフォワードの設定をしてコンテナを起動する nvidia-docker run --name <好きなコンテナ名> -p 8888:8888 -it gpu-container # jupyterを起動してローカルのブラウザからlocalhost:8888繋いで見ましょう jupyter notebook --ip=0.0.0.0
以上です、お疲れ様でした!