Caffe & Theano安装教程——ubuntu16.04系统
2016-07-20 14:33
681 查看
因为学习要用到深度学习,因此要配置caffe和theano。记过几日几夜的不懈奋战,最终找到了一种极为简单的安装方法。为将来要用到深度学习的同学节省时间,写下这个博客。由于博主是第一次写博客,若有错误还请大家海涵!
QQ:75690183
email:75690183@qq.com
本教程最大的特点是CUDA和cuDNN的安装简单,这也得益于这个系统版本的更新!
(一)系统安装
先从官网上下载ubuntu16.04系统镜像,再从这里下载Universal-USB-Installer-1.9.6.5软件,最后找一个U盘。准备开始!
(1)制作启动盘
第一个框选择系统——ubuntu;
第二个框选择一下载好的ubuntu16.04系统镜像文件(以.iso结尾);
第三个框选择事先准备好的U盘。
之后点creat,等待….再点close,结束!
(2)安装系统
将我们制作的启动盘插入电脑,选择U盘启动,进入安装系统(作为程序员,这些不应该不会,如果不会自行百度)。等待大约5秒,自动进入ubuntu系统安装界面,之后的不再详述。
(二)安装caffe
由于兼容性问题,下面先安装caffe。在第二节中已经说明了如何安装系统,因此这时我们已经有ubuntu系统,并且已经进入系统!本节对下面没有关联性,不用的同学可跳过此节。
1、先安装各种依赖库,打开终端,依次输入如下命令:
2、下载caffe源码
在上一节中不管caffe是否安装成功,对于theano的安装没有影响。如果不只用theano的同学可以跳过此节。下面开始安装Theano:
1、安装各种包
#先update下
# 安装gfortran,后面编译过程中会用到
# 安装blas,Ubuntu下对应的是libopenblas,其它操作系统可能需要安装其它版本的blas——这是个OS相关的
# 安装lapack,Ubuntu下对应的是liblapack-dev,和OS相关。
# 安装atlas,Ubuntu下对应的是libatlas-base-dev,和OS相关。
# 使用pip安装numpy和scipy
# 安装numpy
# 测试numpy, 测试通过才能进行下一步~~
# 安装scipy
# 测试scipy
# 测试通过才能进行下一步~~
为了安装Theano,最后还需要安装一些库,可以参考官方教程:
2、安装Theano
用pip安装
# 测试Theano
这里theano.test()报错很正常,我的是errors=80!没关系,不用管它,接着安装cuda。
(四)安装cuda
ubuntu16.04之前的版本作者没有装过,但是看到教程就头大!对于16.04这个版本来说却十分简单(没有sample,也无需添加环境变量)!在这里介绍安装cuda是于大部分教程不同,这是考虑了兼容性问题所做的决定。主要原因在于,caffe的编译需要gcc,g++为5.0以上版本,但是cuda不支持gcc,g++5.0以上版本。但只要caffe编译成功后,它对gcc,g++就没有要求。
1、安装显卡驱动
方法一:在‘Search your computer’中搜索‘Additional Drivers’,打开。选择‘Additional Drivers’选项卡下,选择‘Using NVIDIA binarydriver -…..’,单击‘Apply Changes’,等待完成。重启!
方法二:查看该机的nvidia驱动(如果不是nvidia的显卡,别费劲了)。输入命令:
安装对应的版本驱动(如:我的是nvidia-361)。输入命令:
重启!
2、安装cuda
输入命令:
这些东西做完以后,我们的cuda也就安装完毕了!
(五)安装cuDNN
在nvidia官网下载cudnn(需要注册)。
1、将安装包放在‘/home’路径下。输入命令:
(六)为theano写配置文件
在终端输入命令:
输入‘i’进入insert模式。输入一下内容:
输入完毕,按‘Esc’退出,输入‘:’,再输入‘wq’,回车。配置完成!这时可以输入命令:
显示’Using gpu device 0:GeForce GTX 960’,说明显卡配置成功,否则重来一遍!
[b]参考[/b] http://blog.csdn.net/autocyz/article/details/51783857 http://blog.csdn.net/g0m3e/article/details/51420565 http://www.myexception.cn/cuda/2017261.html http://www.bubuko.com/infodetail-902302.html
QQ:75690183
email:75690183@qq.com
本教程最大的特点是CUDA和cuDNN的安装简单,这也得益于这个系统版本的更新!
(一)系统安装
先从官网上下载ubuntu16.04系统镜像,再从这里下载Universal-USB-Installer-1.9.6.5软件,最后找一个U盘。准备开始!
(1)制作启动盘
第一个框选择系统——ubuntu;
第二个框选择一下载好的ubuntu16.04系统镜像文件(以.iso结尾);
第三个框选择事先准备好的U盘。
之后点creat,等待….再点close,结束!
(2)安装系统
将我们制作的启动盘插入电脑,选择U盘启动,进入安装系统(作为程序员,这些不应该不会,如果不会自行百度)。等待大约5秒,自动进入ubuntu系统安装界面,之后的不再详述。
(二)安装caffe
由于兼容性问题,下面先安装caffe。在第二节中已经说明了如何安装系统,因此这时我们已经有ubuntu系统,并且已经进入系统!本节对下面没有关联性,不用的同学可跳过此节。
1、先安装各种依赖库,打开终端,依次输入如下命令:
sudo apt-get update sudo apt-get upgrade sudo apt-get install -y build-essential cmake git pkg-config sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install -y libatlas-base-dev sudo apt-get install -y --no-install-recommends libboost-all-dev sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev sudo apt-get install -y python-pip sudo apt-get install -y python-dev sudo apt-get install -y python-numpy python-scipy sudo apt-get install -y libopencv-dev sudo pip install protobuf
2、下载caffe源码
git clone https://github.com/BVLC/caffe.git[/code]
3、配置Makefile.config文件cd到caffe目录下 cp Makefile.config.example Makefile.config gedit Makefile.config
4、注意下面的操作很重要
在Makefile.config中找到下面的内容:INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
然后替换为:INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
将:PYTHON_LIB := /usr/lib替换为:PYTHON_LIB := /usr/lib/python2.7/config-x86_64-linux-gnu
(不确定这一步是否有用,但是在/usr/lib下没有libpythonX.X.so文件)
5、配置Makefile文件(注意:它和Makefile.config不是一个文件)sudo gedit Makefile
输入密码,开始编辑。查找NVCCFLAGS,将下面的东西NVCCFLAGS += -ccbin=(CXX)−Xcompiler−fPIC(COMMON_FLAGS)替换为:NVCCFLAGS += -D_FORCE_INLINES -ccbin=(CXX)−Xcompiler−fPIC(COMMON_FLAGS)
修改它的目的是为了防止报错: “string.h ‘memcy’ was not declaredin this scope ”。
6、创建hdf5新的连接
执行一下命令:find -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;
再输入:cd /usr/lib/x86_64-linux-gnu
接着,执行以下命令:sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
这里会提示,文件已存在,没关系,继续。
7、检验cd到caffe/python目录下
输入一下命令:for req in $(cat requirements.txt); do pip install $req; done
终端可能会有很多红字,那么在运行下一句:for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done
8、编译
到这里,我们的准备工作就都完成了,下面开始编译,运行这几行代码:cd到caffe目录下 make all -j8 # j8指计算机的核心数,如8核 make test -j8 make runtest -j8
如果有错,按照上面的步骤重做一次。先暂时不编译python接口,先给python添加环境变量,打开.bashrc文件:cd ~ sudo gedit ~/.bashrc
输入密码后,进入编辑界面。在最后一行加上:
export PYTHONPATH =/home/xxx /caffe/ python:$PYTHONPATH
注意,路径写自己的。现在编译python接口,输入以下命令:cd到caffe目录下 make pycaffe make distribute
这一步做完就算大功告成了,输入:python,再输入:import caffe,如果没有报错,说明安装成功。
[b](三)安装theano
在上一节中不管caffe是否安装成功,对于theano的安装没有影响。如果不只用theano的同学可以跳过此节。下面开始安装Theano:
1、安装各种包
#先update下
sudo apt-get update
# 安装gfortran,后面编译过程中会用到
sudo apt-get install gfortran
# 安装blas,Ubuntu下对应的是libopenblas,其它操作系统可能需要安装其它版本的blas——这是个OS相关的
sudo apt-get install libopenblas-dev
# 安装lapack,Ubuntu下对应的是liblapack-dev,和OS相关。
sudo apt-get install liblapack-dev
# 安装atlas,Ubuntu下对应的是libatlas-base-dev,和OS相关。
sudo apt-get install libatlas-base-dev
# 使用pip安装numpy和scipy
sudo apt-get install python-pip
# 安装numpy
sudo pip install numpy
# 测试numpy, 测试通过才能进行下一步~~
python -c "import numpy; numpy.test()"
# 安装scipy
sudo pip install scipy
# 测试scipy
# 测试通过才能进行下一步~~
python -c"import scipy; scipy.test()"以上顺序不可打乱,否则会报错!
为了安装Theano,最后还需要安装一些库,可以参考官方教程:
sudo apt-get install python-dev sudo apt-get install python-pip sudo apt-get install python-nose sudo apt-get install g++ sudo apt-get install git
2、安装Theano
用pip安装
sudo pip install Theano
# 测试Theano
python -c "import theano; theano.test()"
这里theano.test()报错很正常,我的是errors=80!没关系,不用管它,接着安装cuda。
(四)安装cuda
ubuntu16.04之前的版本作者没有装过,但是看到教程就头大!对于16.04这个版本来说却十分简单(没有sample,也无需添加环境变量)!在这里介绍安装cuda是于大部分教程不同,这是考虑了兼容性问题所做的决定。主要原因在于,caffe的编译需要gcc,g++为5.0以上版本,但是cuda不支持gcc,g++5.0以上版本。但只要caffe编译成功后,它对gcc,g++就没有要求。
1、安装显卡驱动
方法一:在‘Search your computer’中搜索‘Additional Drivers’,打开。选择‘Additional Drivers’选项卡下,选择‘Using NVIDIA binarydriver -…..’,单击‘Apply Changes’,等待完成。重启!
方法二:查看该机的nvidia驱动(如果不是nvidia的显卡,别费劲了)。输入命令:
ubuntu-drivers devices
安装对应的版本驱动(如:我的是nvidia-361)。输入命令:
sudo apt-get install nvidia-361
重启!
2、安装cuda
输入命令:
sudo apt-get install nvidia-cuda-toolkit重启!虽然已经安装好了cuda,但还不能用。因为cuda不支持gcc5.0及以上版本,因此gcc需要降级。输入以下命令:
sudo apt-get install g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30 sudo update-alternatives --set cc /usr/bin/gcc sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30 sudo update-alternatives --set c++ /usr/bin/g++
这些东西做完以后,我们的cuda也就安装完毕了!
(五)安装cuDNN
在nvidia官网下载cudnn(需要注册)。
1、将安装包放在‘/home’路径下。输入命令:
tar xvzf cudnn-7.5-linux-x64-v5.0-ga.tgz sudo cp include/cudnn.h /usr/include sudo cp lib64/libcudnn* /usr/lib/x86_64-linux-gnu/ sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*
(六)为theano写配置文件
在终端输入命令:
sudo vim ~/.theanorc
输入‘i’进入insert模式。输入一下内容:
[global] openmp=False device=gpu floatX=float32 allow_input-downcast=True [blas] ldflags= [nvcc] flags=-D_FORCE_INLINES
输入完毕,按‘Esc’退出,输入‘:’,再输入‘wq’,回车。配置完成!这时可以输入命令:
python –c ‘import theano’
显示’Using gpu device 0:GeForce GTX 960’,说明显卡配置成功,否则重来一遍!
[b]参考[/b] http://blog.csdn.net/autocyz/article/details/51783857 http://blog.csdn.net/g0m3e/article/details/51420565 http://www.myexception.cn/cuda/2017261.html http://www.bubuko.com/infodetail-902302.html
相关文章推荐
- jquery通过输入框实时查找列表值
- 汇总常用的jQuery操作Table tr td方法
- Drupal做个人博客,阿里云Ubuntu下安装Git,Composer, Drush,nodejs
- HTML 保存图片到本地
- jsp 获取url的参数
- js 数组中随机出来N组
- 使用nssm在windows服务器上部署nodejs
- html 标签 表格
- html5-文件:FileReader实现上传前预览
- css清除浮动
- json解析转化成数组,字典等类型,nsstring 转换
- React Native
- BootStrap 警告框
- BootStrap 缩略图
- javascript基础学习笔记
- BootStrap 页头
- BootStrap 巨幕
- Javascript函数形参与实参
- BootStrap 徽章
- html 标签 链接