Ubuntu16.04 安装caffe
2016-08-26 16:22
423 查看
**
注意:本文大部分内容参考了:
这里表示感谢,如有问题欢迎留言交流。
一,查看电脑配置,下载对应的文件。
1,我的电脑是联想的,基本参数如下:
系统:ubuntu16.04 64位 内存4G
独立显卡型号:GeForce GTX 745(2G显存)
python版本:使用自带的python2.7
2,文件下载:
(1)cuda7.5下载(http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run),下载的版本是ubuntu15.04的run文件。
(2)cudnn4.0下载(https://developer.nvidia.com/cudnn),进去之后如果有注册过nvidia的账户直接点击download,否则需要注册一个账户,注册完之后有一个调查,随便选几个钩就可以,然后下一步是接受条款开始就可以下载了(注意:一定要下载4.0版本,不然后面caffe编译不过去)。
(3) caffe下载就在官方的github下载就可以了(伯克利版本)。
(4) 显卡驱动去官网 下载对应的型号即可(http://www.geforce.cn/drivers)。
二,显卡驱动安装
1,终端下:
2,在打开的文档中的最后一行编辑上 :
保存。
3,终端输入:
4,重启之后在界面按Ctrl+Alt+F2,输入root以及密码,然后 :
5,Ctrl+F1(F1到F5都可以)进入控制台,输用户名和密码登陆后:
以上是笔者英伟达显卡驱动路径,安装时应该换成自己路径。
注意:由于ubuntu自身的bug,装上独立显卡驱动之后很容易导致卡在登陆界面无限循环,无法进入图形界面的问题,解决办法如下:
1,Ctrl+F4进入控制台,输入用户名和密码登陆,命令行输入:
卸载掉显卡驱动。
2,继续输入:
重新安装显卡驱动。重启即可
6,安装完成后重启即可。
三, Cuda7.5安装
1,以笔者文件名cuda_7.5.18_linux.run为例,终端下输入 :
此处有大量的条款,一路空格到最后 输入accept,依次输入y回车,然后n(不安装显卡驱动),然后一路y回车,有一个地方需要输入密码,还有两个地方确认安装路径,直接回车即可,完成安装,默认安装路径是/usr/local .
2,将下载下来的cudnn-7.0-linux-x64-v4.0-prod.tgz 解压之后,解压后的cuda文件夹先打开里面的include文件夹,空白右键在终端打开输入:
继续更新文件链接 :
然后设置环境变量 :
在末尾加入 :
保存之后创建链接文件 :
键盘按i进入编辑状态,添加文字 :
然后按esc,输入:wq保存退出。
终端下接着输入 :
使链接生效
3, 生成Cuda Sample测试:
然后开始make samples ,终端下:
我是4核电脑所以用了j4,正常情况下肯定会报错“unsupported GNU version! gcc versions later than 4.9 are not supported!”,原因就是这个cuda不支持gcc5.0以上,终端运行:
Ctrl+F寻找有”4.9”的地方,应该是只有一处,在其上方的 :
将两个4改成5,保存退出,继续 :
这就应该开始make了,此处大约有5、6分钟。完成之后:
会出现类似以下的信息 :
这就说明成功了。
四、Python配置:
1,安装依赖库:
2,将之前github下载的caffe压缩文件解压缩到任一目录,然后安装python(推荐使用第二种方法) :
python的版本安装有两种方式:
第一是直接安装anaconda,去官网下载 ,选择linux 64bit 2.7版本下载安装,anaconda安装方便但是需要在最后的make配置文件中更改python包含路径。
第二种方法就是使用原生的python2.7版本,终端下:
这里我们用pip安装一些python需要的依赖包,不过为了避免各种问题,也可以通过apt-get安装:
3,以caffe默认解压到/home/panyiming/caffe/ ,文件夹名名称caffe-master为例
这里用pip安装可能速度很慢,很可能下载好几个小时,推荐用清华大学的pip源临时安装,所以命令改为如下:
这里如果第一次有很多红字错误,建议再运行几遍指导安装成功,对于黄字提示无需理会,可能是pip版本需要更新。
五、Caffe编译过程。
接下来要进入最后的步骤了,终端中:
将
先不做更改。
如果是需要生成matlab的caffe wrapper 请取消注释MATLAB_DIR然后替换为自己的目录
说一下提前会出现的问题:
第一,make过程中出现比如 s
保存退出
第二,在make过程中还会报一个
注意,10.1.0和10.0.2可能不同电脑安装版本不同,注意看当前目录下存在的文件然后
接下来就是直接编译的过程
如果编译没报错正常的话,基本就没问题了。测试python打开
如果不报错就说明编译成功.
注意:
在使用python接口的时候,可能会报
然后
Ubuntu16.04 安装caffe
**注意:本文大部分内容参考了:
http://blog.csdn.net/g0m3e/article/details/51420565
这里表示感谢,如有问题欢迎留言交流。
一,查看电脑配置,下载对应的文件。
1,我的电脑是联想的,基本参数如下:
系统:ubuntu16.04 64位 内存4G
独立显卡型号:GeForce GTX 745(2G显存)
python版本:使用自带的python2.7
2,文件下载:
(1)cuda7.5下载(http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run),下载的版本是ubuntu15.04的run文件。
(2)cudnn4.0下载(https://developer.nvidia.com/cudnn),进去之后如果有注册过nvidia的账户直接点击download,否则需要注册一个账户,注册完之后有一个调查,随便选几个钩就可以,然后下一步是接受条款开始就可以下载了(注意:一定要下载4.0版本,不然后面caffe编译不过去)。
(3) caffe下载就在官方的github下载就可以了(伯克利版本)。
(4) 显卡驱动去官网 下载对应的型号即可(http://www.geforce.cn/drivers)。
二,显卡驱动安装
1,终端下:
sudo gedit /etc/modprobe.d/blacklist.conf
2,在打开的文档中的最后一行编辑上 :
blacklist nouveau
保存。
3,终端输入:
sudo update-initramfs -u
4,重启之后在界面按Ctrl+Alt+F2,输入root以及密码,然后 :
service lightdm stop
5,Ctrl+F1(F1到F5都可以)进入控制台,输用户名和密码登陆后:
sudo ./home/panyiming/caffe/NVIDIA-Linux-x86_64-370.23.run
以上是笔者英伟达显卡驱动路径,安装时应该换成自己路径。
注意:由于ubuntu自身的bug,装上独立显卡驱动之后很容易导致卡在登陆界面无限循环,无法进入图形界面的问题,解决办法如下:
1,Ctrl+F4进入控制台,输入用户名和密码登陆,命令行输入:
sudo ./home/panyiming/caffe/NVIDIA-Linux-x86_64-370.23.run --uninstall
卸载掉显卡驱动。
2,继续输入:
sudo ./home/panyiming/caffe/NVIDIA-Linux-x86_64-370.23.run
重新安装显卡驱动。重启即可
6,安装完成后重启即可。
三, Cuda7.5安装
1,以笔者文件名cuda_7.5.18_linux.run为例,终端下输入 :
sudo ./cuda_7.5.18_linux.run --override
此处有大量的条款,一路空格到最后 输入accept,依次输入y回车,然后n(不安装显卡驱动),然后一路y回车,有一个地方需要输入密码,还有两个地方确认安装路径,直接回车即可,完成安装,默认安装路径是/usr/local .
2,将下载下来的cudnn-7.0-linux-x64-v4.0-prod.tgz 解压之后,解压后的cuda文件夹先打开里面的include文件夹,空白右键在终端打开输入:
sudo cp cudnn.h /usr/local/cuda/include/ cd ~/cuda/lib64 sudo cp lib* /usr/local/cuda/lib64/
继续更新文件链接 :
cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.4 sudo ln -s libcudnn.so.4.0.7 libcudnn.so.4 sudo ln -s libcudnn.so.4 libcudnn.so
然后设置环境变量 :
sudo gedit /etc/profile
在末尾加入 :
PATH=/usr/local/cuda/bin:$PATH export PATH
保存之后创建链接文件 :
sudo vim /etc/ld.so.conf.d/cuda.conf
键盘按i进入编辑状态,添加文字 :
/usr/local/cuda/lib64
然后按esc,输入:wq保存退出。
终端下接着输入 :
sudo ldconfig
使链接生效
3, 生成Cuda Sample测试:
然后开始make samples ,终端下:
cd /home/NVIDIA_CUDA-7.5_Samples sudo make all -j4
我是4核电脑所以用了j4,正常情况下肯定会报错“unsupported GNU version! gcc versions later than 4.9 are not supported!”,原因就是这个cuda不支持gcc5.0以上,终端运行:
cd /usr/local/cuda-7.5/include cp host_config.h host_config.h.bak sudo gedit host_config.h
Ctrl+F寻找有”4.9”的地方,应该是只有一处,在其上方的 :
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9)
将两个4改成5,保存退出,继续 :
cd /home/NVIDIA_CUDA-7.5_Samples sudo make all -j4
这就应该开始make了,此处大约有5、6分钟。完成之后:
cd /home/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux ./deviceQuery
会出现类似以下的信息 :
CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce GTX 750 Ti" CUDA Driver Version / Runtime Version 8.0 / 7.5 CUDA Capability Major/Minor version number: 5.0 Total amount of global memory: 2047 MBytes (2146762752 bytes) ( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores GPU Max Clock rate: 1228 MHz (1.23 GHz) Memory Clock rate: 3004 Mhz Memory Bus Width: 128-bit L2 Cache Size: 2097152 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 = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 745 Ti Result = PASS
这就说明成功了。
四、Python配置:
1,安装依赖库:
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 libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2,将之前github下载的caffe压缩文件解压缩到任一目录,然后安装python(推荐使用第二种方法) :
python的版本安装有两种方式:
第一是直接安装anaconda,去官网下载 ,选择linux 64bit 2.7版本下载安装,anaconda安装方便但是需要在最后的make配置文件中更改python包含路径。
第二种方法就是使用原生的python2.7版本,终端下:
sudo apt-get install python-pip安装pip
这里我们用pip安装一些python需要的依赖包,不过为了避免各种问题,也可以通过apt-get安装:
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
3,以caffe默认解压到/home/panyiming/caffe/ ,文件夹名名称caffe-master为例
cd /home/user/caffe/caffe-master/python sudo su for req in $(cat requirements.txt); do pip install $req; done
这里用pip安装可能速度很慢,很可能下载好几个小时,推荐用清华大学的pip源临时安装,所以命令改为如下:
for req in $(cat requirements.txt); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done
这里如果第一次有很多红字错误,建议再运行几遍指导安装成功,对于黄字提示无需理会,可能是pip版本需要更新。
五、Caffe编译过程。
接下来要进入最后的步骤了,终端中:
cd /home/panyiming/caffe/caffe-master/ cp Makefile.config.example Makefile.config gedit Makefile.config
将
USE_CUDNN := 1取消注释,在
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格 然后添加/
usr/include/hdf5/serial如果没有这一句可能会报一个找不到hdf5.h的错误
PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/lib/python2.7/dist-packages/numpy/core/include
先不做更改。
如果是需要生成matlab的caffe wrapper 请取消注释MATLAB_DIR然后替换为自己的目录
说一下提前会出现的问题:
第一,make过程中出现比如 s
tring.h ‘memcy’ was not declared in this scope的错误是由于gcc编译器版本太新,解决方法是打开makefile搜索并替换
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 为 NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
保存退出
第二,在make过程中还会报一个
ld找不到libhdf5 和libhdf5_hl的链接问题,这个原因可能也是因为hdf5的问题,首先看
/usr/lib/x86_64-linux-gnu目录下有没有
libhdf5.so和libhdf5_hl.so,如果有的话,查看属性是否有正确的链接(正常情况下应该是没有这两个文件),然后右键在终端中打开
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
注意,10.1.0和10.0.2可能不同电脑安装版本不同,注意看当前目录下存在的文件然后
sudo ldconfig生效
接下来就是直接编译的过程
cd /home/user/caffe make all -j4 make test -j4 make runtest make pycaffe make matcaffe
如果编译没报错正常的话,基本就没问题了。测试python打开
cd /home/user/caffe/python python import caffe
如果不报错就说明编译成功.
注意:
在使用python接口的时候,可能会报
’Mean shape incompatible with input shape.’的错误,处理方法是python/caffe文件夹,编辑io.py文件,将
if ms != self.inputs[in_][1:]: raise ValueError('Mean shape incompatible with input shape.') 替换为
if ms != self.inputs[in_][1:]: print(self.inputs[in_]) in_shape = self.inputs[in_][1:] m_min, m_max = mean.min(), mean.max() normal_mean = (mean - m_min) / (m_max - m_min) mean = resize_image(normal_mean.transpose((1,2,0)),in_shape[1:]).transpose((2,0,1)) * (m_max - m_min) + m_min
然后
make clean再重新make。
相关文章推荐
- ubuntu16.04安装caffe以及各种问题汇总
- Ubuntu 15.10/16.04 上安装Caffe——确保编译好的库相互兼容
- Ubuntu16.04+CUDA8.0+cudnn7.5+Caffe安装过程
- Caffe安装:Ubuntu16.04 + GPU + CUDA-8.0 + cuDNN v5.1 + OpenCV 3.0.0 + Anaconda2
- 深度学习文章1:Caffe安装教程:Ubuntu16.04(CPU)
- 学习Caffe(一)Ubuntu 16.04 安装Caffe+cuda+cudnn+pycaffe+matcaffe
- Caffe + Ubuntu 15.04(16.04) + CUDA 7.5(8) 新手安装配置指南
- ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历
- ubuntu16.04下安装caffe
- Ubuntu 16.04上安装Caffe(CPU only)
- ubuntu 16.04 无GPU版caffe安装简记
- ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历
- Ubuntu16.04+caffe+keras+tensorflow+GPU +matlab 安装资源查看
- Ubuntu 16.04上安装Caffe
- Caffe学习(1):Ubuntu16.04上Caffe配置安装(Only CPU)
- Caffe & Theano安装教程——ubuntu16.04系统
- Ubuntu16.04+cuda8.0+caffe安装教程
- ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历
- Caffe安装教程之Ubuntu16.04--make all报错
- Ubuntu16.04+cuda8.0+opencv3.1+caffe+anaconda安装,双显卡