caffe中cuda7.5的配置及python接口的使用--ubuntu14.04

這裏,已經完成了caffe的安裝,若沒有安裝,在相應的網站上下載安裝,可以參考 http://blog.csdn.net/thystar/article/details/50158487

不要修改Makefile.config

1.CUDA安裝

下載:https://developer.nvidia.com/cuda-downloads

選擇與系統向匹配的版本,我下在的是cuda7,5; 下載頁面上有安裝命令,下載完成後將命令窗口轉換到文件所在目錄下,將命令逐個考到命令行中

sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb 
sudo apt<span class="cmsy-10">-</span>get update

cuda Tookit

sudo apt-get install cuda 

安裝完成之後,需要配置環境變量

export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib:/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

安裝完成後,測試samples

編譯samples文件

cuda-install-samples-7.5.sh  ~ 
cd ~/NVIDIA_CUDA-7.5_Samples 

make all

這個需要花挺長時間,當然也可以單獨編譯

編譯完成後在該文件夾下進入release目錄

cd bin/x86_64/linux/release/
./deviceQuery

如果出現如下界面,則安裝 成功:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GT 740"
  CUDA Driver Version / Runtime Version          7.5 / 7.5
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 1023 MBytes (1073020928 bytes)
  ( 2) Multiprocessors, (192) CUDA Cores/MP:     384 CUDA Cores
  GPU Max Clock rate:                            1058 MHz (1.06 GHz)
  Memory Clock rate:                             2500 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 262144 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GT 740
Result = PASS


配置caffe

在這裏,把caffe根目錄下Makefile.config裏面的cuda_dir需要改成自己安裝的文件目錄:

CUDA_DIR := /usr/local/cuda-7.5
如果之前將CPU_ONLY=1使能的,需要在這句前加#

編譯caffe

make all

make test

make runtest

在這裏,可能會出現這種錯誤:

error while loading shared libraries: libcudart.so.7.5: cannot open shared object file: No such file or directory.

解決方法

sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/local/lib/libcudart.so.7.5 && sudo ldconfig
sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/local/lib/libcublas.so.7.5 && sudo ldconfig
sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/local/lib/libcurand.so.7.5 && sudo ldconfig

然後再編譯出錯那句。

我的這樣就可以了

可以測試一下mnist數據


2. caffe python接口

首先,需要修改Makefile.config下的python路徑

PYTHON_INCLUDE:= /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include

PYTHON_LIB := /usr/local/lib

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

運行代碼需要的依賴項

依然在caffe根目錄下運行:

sudo pip install -r ./python/requirements.txt

完成後,運行:

make pycaffe

最後,需要添加路徑

運行

sudo gedit ~/.bashrc

在最後添加

export PYTHONPATH=/home/sindyz/caffe-master/python:$PYTHONPATH
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages/:$PYTHONPATH 

保存並關閉,打開新的命令窗口運行

python

import caffe

在spyder中運行

import caffe

如果出錯,在添加路徑窗口中添加

/home/sindyz/caffe-master/python
/usr/local/lib/python2.7/dist-packages/

兩個路徑。在文件目錄中選擇添加即可。


另外,在安裝過程中可能會有的問題是。

安裝cv的路徑在usr/lib/python/dist-packages下面,而這個目錄下的numpy是1.8的,anaconda2的numpy是1.10的,這樣,如果我將use/lib添加到環境變量下面,numpy會有版本衝突而報錯。我的解決方法是直接把cv文件放到anaconda2下面。如下:

用sudo apt-get install python-opencv安裝python opencv的話,在usr/lib的python包路徑下會由cv.py, cv.so兩個文件,如果import cv2提示找不到cv包的話,把這兩個文件直接拷貝到anaconda2/lib的python包目錄下面就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章