1. 程式人生 > >keras的GPU模式安裝- theano 後端

keras的GPU模式安裝- theano 後端

很久很久沒寫部落格了,上次寫部落格應該是一年前的事情

如果會看這篇文章的同志們應該也知道keras是啥,這裡不多介紹,今天要寫的keras的,先來一下自己的硬體裝置和系統:

ubuntu14.04

GTX-950(我使用)

python2.7

1.  安裝必要的工具vim+git:sudo apt-get install vim git

2. 安裝必要的依賴庫: sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev

3. 安裝nvida驅動:

  • 首先去下載驅動:http://www.nvidia.cn/Download/index.aspx?lang=cn,下載後得到一個./NVIDIA.run
    檔案(名字具體看你下載的檔案)
  • 遮蔽ubuntu原來的驅動:sudo gedit /etc/modprobe.d/blacklist.conf 並依次新增一下內容
  • blacklist vga16fb
    blacklist nouveau
    blacklist rivafb
    blacklist nvidiafb
    blacklist rivatv
  • 解除安裝原來驅動:sudo apt-get  remove nvidia-*      sudo apt-get  purge  nvidia-*
       sudo apt-get  remove xserver-xorg-video-nouveau sudo    apt-get purge  xserver-xorg-video-nouveau
  • 接下來關閉ubuntu圖形介面安裝nvida驅動:
    • sudo service lightdm stop
    •  然後切換到tty1:Ctrl+Alt+F1
    • 登入root使用者
    • 接下來安裝下載下來的驅動: ./NVIDIA.run開始安裝
    • 重新啟動X-Windowsudo service lightdm start
  • lspci | grep -i nvidia 檢查是否安裝成功
    檢視你的顯示卡型別:
    lspci | grep -i vga
    檢視驅動配置:
    cat /etc/X11/xorg.conf
    檢視當前使用的驅動:
    lsmod | grep -i nvidia (我使用的nvidia的)
    檢視驅動的詳細資訊:
    modinfo nvidia

4. 安裝cuda:

  • 下載cuda: wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_6.5-14_amd64.deb
  • sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
  • sudo apt-get update
    如果碰到apt-get無法使用         具體如下:
               1、執行ps -ef | grep apt-get                                            檢視是否有apt-get程序。
               2、執行sudo killall -9 apt-get                                          強行關閉相應程序。            3、執行sudo apt-get update;sudo apt-get dist-upgrade 繼續升級。
  • 一條命令安裝:sudo apt-get install cuda  (-f)
  • 安裝好後去需要去 cd 到 /usr/local/cuda 的sample底下 執行make,編譯一把sample確認安裝是否成功 如果make 發現某些庫沒有連結 cannot find -lnvcuvid
  • sudo ln -s /usr/lib/nvidia-367/libnvcuvid.so /usr/lib/libnvcuvid.so
    sudo ln -s /usr/lib/nvidia-367/libnvcuvid.so.1 /usr/lib/libnvcuvid.so.1    

  • 如果上面一步執行成功執行:/usr/local/cuda/samples/bin/x86_64/linux/release/deviceQuery 檢視是否能正確顯示

5.安裝Anaconda:這個玩意包含了蠻多python有用的lib(numpy,scipy,pyyaml,hdf5),所以可以減少你很多lib的安裝。下載地址:http://www.continuum.io/downloads#all。一條命令安裝好:

./Anaconda-2.3.0-Linux-x86_64.sh 並新增bin 在~/.bashrc中新增 export PATH="~/anaconda2/bin:$PATH"

安裝好後,我們需要建立一個新的python環境,這樣我們所有的keras程式都安裝在這個獨立的環境,具體我們用到了conda這個命令:可以參考這個:http://www.tuicool.com/articles/vyyA7rB

conda create -n keras_env  python=2.7 numpy scipy  (建立一個keras_env的環境,這個環境帶了python2.7 numpy scipy)

conda安裝opencv,如果處理圖片一般會用到opencv庫:

conda install -c https://conda.binstar.org/menpo opencv

最後使用這個環境我們要把這個環境active起來,注意後面所有的pip安裝theano的命令都在這個kears_env下執行

source activate keras_env   這條命令也要新增到 ~/.bashrc

如果有什麼庫少了可以參考安裝下面一些庫,因為畢竟我們的環境有些少許出入:

sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev git

6. 安裝theano

pip install Theano

7. 安裝keras:sudo pip install keras 。 安裝好keras後,我們需要把keras的backend設定為theano(keras預設是用tf),具體的方法是

查詢到 ~/.keras/keras.json

{
    "image_dim_ordering": "th",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "theano"
}

8.設定keras的GPU模式:

vim 編輯 ~/.theanorc 輸入以下字元:

[global]
device=gpu
floatX=float32
root=/usr/local/cuda
[nvcc]
fastmath = True
[blas]
ldflags = -lopenblas
[cuda]
root = /usr/local/cuda
[lib]
cnmem=0.8
[nvcc]
optimizer_including=cudnn

這裡我安裝了cudnn,如果沒有安裝就不需要指定最後的cudnn,但是cuda一定需要指定

9. shell中鍵入python,之後輸入from keras.models import Sequential

PS:我知道基本上csdn的安裝流程都不能安裝成功,所以有問題就留言碰吧。

缺少yaml的解決方法

cd
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar xzvf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure --prefix=/usr/local
make
sudo make install


最後keras有一個style-transfer的demo給大家看一下有點努力的動力吧。下面是keras的4次迭代的結果。





===================================================

OTHER TIP