Ubuntu16.04+cuda8.0+caffe配置记录

cpu only配置

首先安装caffe所有的依赖包

sudo apt-get install git

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install python-dev

下载caffe源码

git clone git://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config

修改Makefile.config ,去掉CPU_ONLY前面的注释

make -j4 

这边我用make -j的话 笔记本在编译的时候会死机。。。
在编译的过程中会出现如下问题“fatal error: hdf5.h: 没有那个文件或目录”
解决办法是修改Makefile.config文件,将下面第一行改为第二行,多添加一个路径

 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

修改Makefile文件,把下面第一行代码改为第二行代码

 LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5

 LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

解决上面那个问题后,caffe cpu only就能正常编译啦


caffe GPU

首先要确定自己的GPU是否满足caffe计算的要求,用的NVIDIA的GPU可以在它的官网查看GPU的计算能力,https://developer.nvidia.com/cuda-gpus可能需要3.5以上 。
更新显卡驱动,可以参考这篇文章
我最后使用的驱动如下这里写图片描述
之前用的361的版本,但是后面测试cuda时,会提示显卡驱动版本太低了。

然后就去官网下载cuda toolkithttps://developer.nvidia.com/cuda-downloads,我下载的是runfile文件
这里写图片描述

在ubuntu下载非常慢,我是从Windows上用迅雷下载来的。

下载完成后,执行下面的命令

 sudo sh cuda_8.0.44_linux.run

安装会有3个步骤,第一个步骤会问你是否安装驱动,这步需要选择n,不要安装,下面问是否安装就选择y就行了,安装完成后在~/.bashrc 声明一下环境变量,

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

nvidia-smi 可以测试下
创建链接文件
sudo gedit /etc/ld.so.conf.d/cuda.conf
添加如下语句
/usr/local/cuda/lib64
执行
sudo ldconfig
立即生效

测试cuda

 cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery

如果没有错误,显示了的GPU的信息,就说明cuda安装成功

也可以运行一个cuBLAS例程来验证

 cd /usr/local/cuda-8.0/samples/7_CUDALibraries/batchCUBLAS/
 make
 ./batchCUBLAS -m4096 -n4096 -k4096


切换到GPU加速模式

修改Makefile.config中的选项:
#CPU_ONLY:=1 加上井号
然后重新编译工程
进入到caffe的目录

 make clean
 make -j4

等待编译成功就行了


配置python接口

准备python环境

 sudo apt-get install update
 sudo apt-get install install python-pip python-dev python-numpy
 sudo apt-get install gfortran
 sudo pip install -r ${CAFFE_ROOT}/python/requirements.txt
 sudo pip install pydot

如果 pip的速度太慢,参考使用镜像地址

 mkdir ~/.pip

然后在该目录下创建pip.conf文件编写如下内容:

[global]
trusted-host =  pypi.douban.com
index-url = http://pypi.douban.com/simple

将caffe根目录下的python文件夹加入到环境变量,配置.bashrz文件,加入
export PYTHONPATH=$PYTHONPATH:/home/fangbinwei/caffe/python,要改成你自己的caffe目录
source ./.bashrc ,关掉终端重新打开一遍
在命令行测试下import numpy 是否成功
我有出现下面这个问题
这里写图片描述
出现这个问题的原因是我添加的PYTHONPATH有问题,我原本添加的是这个

export PYTHONPATH=$PYTHONPATH:/home/fangbinwei/caffe/python/caffe(这个需要删掉)
export PYTHONPATH=$PYTHONPATH:/home/fangbinwei/caffe/python

编译pycaffe

 cd ${CAFFE_ROOT}
 make clean
 make -j4
 make pycaffe

绘制网络结构图

 cd ${CAFFE_ROOT}/python 
 python draw_net.py ../examples/mnist/lenet_train_test.prototxt  lenet5.png

这是绘制好的图
lenet

关于pycharm

我后来从桌面图标pycharm进去,import caffe的时候,需要先加sys.path.append("/home/fangbinwei/caffe/python")
因为它不读取 .bashrc里的环境变量
如果从终端进入pycharm则不需要加上面的句


参考:

https://github.com/BVLC/caffe/issues/782
http://blog.csdn.net/autocyz/article/details/52299889
http://blog.csdn.net/u010402483/article/details/51506616
http://blog.csdn.net/xue_wenyuan/article/details/52037121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值