[新手学Caffe之一]Ubuntu无GPU环境下Caffe安装

[新手学Caffe之一]Ubuntu无GPU环境下Caffe安装

12月份开始学习Caffe,花了大概一个月的时间终于把一个超分辨重建的工作给复现了,期间的体会是,“啊,Caffe 真好用啊!”,不过途中也遇到了很多问题,比如安装、模型的导入、layer的编写等等,现在写一点东西总结一下学习的过程,就从Caffe的安装开始吧。
万事开头难,当初装Caffe花了我很长的时间,翻来覆去装了好几遍,想要学习Caffe,跑跑别人的Demo,再到自己做实验,安装是第一步!
网上有很多安装Caffe的教程,但我觉得在学习安装之前最好先看一下官方的文档,因为网上的教程有些比较老,可能所需库的版本与现在的Caffe的需求不一致,所以最好先看下官方的Installation了解一下支持的环境以及版本。另外官方Wiki上有很多安装教程,比如说这一篇Ubuntu-14.04-VirtualBox-VM,就是在无GPU环境下安装Caffe时我主要的参考内容。

  • 查看官方文档,了解版本信息

    [新手学Caffe之一]Ubuntu无GPU环境下Caffe安装_第1张图片
    根据自己的需求,查看CUDA版本等,在安装时并不是最新最好,比如说在有GPU时可能会安装的cuDNN,现在最新的版本只支持cuDNN_v3,而最新的cuDNN版本是v4,我自己用v4试过是编译不通过的。而要使用cuDNN_v3的话,又只能安装CUDA_7.0或7.0以后的版本,这有一系列的连锁反应,所以安装之前一定要查看下官方的说明,再进行安装。

  • 安装必要环境

sudo apt-get update #更新软件列表 
sudo apt-get upgrade #更新软件 
sudo apt-get install build-essential #安装build essentials
  • 安装CUDA

    到英伟达官网CUDA下载相应版本的CUDA(此处以7.5为例),cuda_7.5.18_linux.run,我一般下载run格式,放到home目录下,比较好安装。

sudo sh cuda_7.5.18_linux.run

或者

sudo ./cuda_7.5.18_linux.run

按照提示安装即可,另外记住不要安装显卡驱动,具体如下:

Accept the EULA
Do NOT install the graphics card drivers
Install the toolkit (leave path at default)
Install symbolic link Install samples (leave path at default)

更新相应的库路径

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc 
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib' >> ~/.bashrc 
source ~/.bashrc
  • 安装必要库
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml
sudo easy_install pillow
  • 下载Caffe
cd ~ git clone https://github.com/BVLC/caffe.git
  • 安装python必要库
cd caffe cat python/requirements.txt | xargs -L 1 sudo pip install
  • 添加两个软连接
sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7 
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy
  • 修改Makefile.config
cp Makefile.config.example Makefile.config

去掉 # CPU_ONLY: = 1 的注释
在PYTHON_INCLUDE下把

/usr/lib/python2.7/dist-packages/numpy/core/include

改成

/usr/local/lib/python2.7/dist-packages/numpy/core/include
  • 编译
make all -j$(nproc) 
make test -j$(nproc) 
make pycaffe -j$(nproc)

-j$(nproc) 并行加速编译速度,nproc 获取系统的max number of processes。
如果装了MATLAB相应地在Makefile.config把路径设置下,再加个

make matcaffe -j$(nproc)
  • 测试

    照着官方教程跑一个MNIST试试

cd caffe 
./data/mnist/get_mnist.sh #下载数据 
./examples/mnist/create_mnist.sh #转换成lmdb格式

修改examples/mnist/lenet_solver.prototxt下的solver_model为CPU

./examples/mnist/train_lenet.sh

如果没问题,那么CPU下的Caffe就安装完成了,安装期间可能会遇到权限问题,一般在前面加个sudo就好了,另外拷贝或者修改文件时遇到的权限问题尽量在命令行里解决,比如要拷贝或者移动一个文件,在图形界面下直接拷贝有权限问题,那就在命令行模式下

sudo cp #拷贝 
sudo mv #移动

尽量不要用 chmod 去修改系统文件的读写权限。

你可能感兴趣的:(ubuntu,caffe)