先从官网上下载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
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 ”。
执行一下命令:
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
这里会提示,文件已存在,没关系,继续。
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,如果没有报错,说明安装成功。
(三)安装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’,说明显卡配置成功,否则重来一遍!
参考
http://blog.youkuaiyun.com/autocyz/article/details/51783857
http://blog.youkuaiyun.com/g0m3e/article/details/51420565
http://www.myexception.cn/cuda/2017261.html
http://www.bubuko.com/infodetail-902302.html