这里,已经完成了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包目录下面就好了。