04:23:23CentOS7にkeras/tensorflowをセットアップしてサンプルを動かしてみたメモです。最初にCPUでサンプルを動かしてみた後、CUDA、cuDNNを設定して、再度サンプルを動かして、どの程度性能が上がるかを比較してみたいと思います。動かしてみた環境は、以下の通りです。4GBCentOS7は、MinimalISOのDVDからセットアップしています。SELINUXは無効にしています(有効でもおそらく問題無いと思いますが)。以下の流れで進めていきます。GPUドライバのセットアップCUDAのセットアップcuDNNのセットアップGPU版tensorflowのセットアップkerasサンプルの実行(GPU)ツール、依存ライブラリのセットアップyumで必要そうなツール、ライブラリを入れておきます。anacondaのセットアップanyenv/pyenvからanacondaをセットアップします。過去のエントリで書いた、以下の流れと同様なので、入力したコマンドを書いていきます。anacondaを入れる流れhttp://takemikami.com/2016/10/20/python-anyenv-pyenv-pyenvvirtualenv-anaconda.html以下のコマンドで、anyenvのセットアップ。-l以下のコマンドで、pyenv/pyenv-virtualenvのセットアップ。-l以下のコマンドで、anacondaのセットアップ。kerasのセットアップまずは、作業ディレクトリを作り、使用するpythonを指定します。/home/※ユーザ名※/tensorflow-study/.python-version)次に、anacondaでtensorflow/keras用の環境を作成します。installで、tensorflowをインストールします。installでkerasをインストールします。keraskerasサンプルの実行(CPU)ここまでの手順で環境が出来たので、kerasのサンプル「mnist_cnn.py」を動かしてみます。https://github.com/fchollet/keras.git以下のコマンドで、サンプルを実行できます。mnist_cnn.pyGPUと所要時間を確認したいので、ここでは次のようにして実行することにします。GPUドライバのセットアップここからGPUの環境設定になります。以下のコマンドで接続されているGPUを確認します。nvidia以下のサイトでドライバをダウンロードします。NVIDIAドライバダウンロードhttp://www.nvidia.co.jp/Download/index.aspx?lang=jpダウンロードしたドライバを実行してインストールします。NVIDIA-Linux-x86_64-※ダウンロードしたバージョン※.runドライバインストール後に、一度マシンを再起動しておきます。rebootCUDAのセットアップyumにepelリポジトリを追加しておきます。epel-release「/etc/yum.repos.d/epel.repo」ファイルの以下のenabledの設定を0に変更しておきます。enabled=0以下のように、dkmsをインストールします。Toolkitをインストールします。cuda「~/.bash_profile」に以下を追記します。${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}設定を読み直して、nvccを実行してインストール出来ていることを確認します。driver※以降省略※ついでにGPUを認識しているどうかも確認しておきます。nvidia-smicuDNNのセットアップ以下のサイトからcuDNNをダウンロードします。※ダウンロードする際には会員登録が必要です。developerhttps://developer.nvidia.com/cudnnダウンロードしたファイルを、以下のように展開します。installで、GPU版のtensorflowをインストールします。tensorflow-gpukerasサンプルの実行(GPU)GPUを有効にした状態で、もう一度サンプルを実行してみます。2017このような感じで、CPUで22分くらいかかっていたものが、GPUでは3分程度で実行出来ました。tensorflowでチューニングを行う際の効率を考えるとGPUを使わない手はないですね。