您的位置:首页 > Web前端

Ubuntu 14.04 LTS, 64bit, cuda 7, Caffe环境配置编译和安装

2016-10-02 19:59 771 查看
1 GPU设备

1.1 本人使用的GPU设备

名称: 七彩虹GTX980Ti显卡iGame980Ti烈焰战神X 6G







1.2 硬件问题

Laboratory Tested Hardware:

     Berkeley Vision runs Caffe with K40s, K20s, and Titans including models at ImageNet/ILSVRC scale. We also run on GTX series cards and GPU-equipped MacBook Pros. We have not encountered any trouble in-house with devices with CUDA capability >= 3.0. All
reported hardware issues thus-far have been due to GPU configuration, overheating, and the like.

CUDA compute capability:

     如果设备的运算能力 <= 2.0, 受限于设备的性能, 可能需要减少 CUDA的线程数量 和 批处理的 大小(sizes). 你的吞吐量可能会发生变化.

安装后, 参照我们的
reference performance numbers 确保所有的配置是正确的.

工程问题请参照 
hardware/compatibility.

2 GPU驱动和GPU开发工具安装

 基于cuda_7.0.28_linux.run安装

 下载地址: cuda_7.0.28_linux.run
   其他各版本(含老版本和最新版本)的文档地址:http://blog.csdn.net/real_myth/article/details/52724892



3 Caffe

基于原版翻译的教程参见: Caffe编译安装

3.1 编译工具(如果开发环境已经具备不需要此步骤)

1) gcc, g++ (安装命令: sudo apt-get install build-essential )

2) make(安装命令:sudo apt-get install make )

3) cmake(安装命令:sudo apt-get install cmake)

 

注意,在  Ubuntu 12.04中, 默认安装的CMake版本为2.8.7, 不能满足编译Caffe的CMake 版本需求 (版本至少为 2.8.8) ,如果你使用的系统是Ubuntu 12.04,可以尝试下面的安装步骤安装CMake 2.8.9或者升级到这个版本 :

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa -y
sudo apt-get -y update
sudo apt-get install cmake


3.2 先决依赖条件(Prerequisites)

Caffe 依赖于很多的软件包。

CUDA

       Caffe 需要 CUDA
nvcc
编译器来编译GPU 代码 ,需要CUDA驱动来操作GPU. 要安装 CUDA, 请参照NVIDIA CUDA 网站和网站上的安装说明.分别安装依赖库和最新的驱动;

       和依赖库绑定的驱动通常版本比较老.警告 331.* CUDA 系列驱动有严重的性能问题: 不要使用.

        为了达到最好的性能, Caffe 可以通过NVIDIA cuDNN加速.  cuDNN 网站注册是免费的, 安装完后继续下面的安装说明.

         要使用cuDNN编译请在你的
Makefile.config
种设置
USE_CUDNN := 1
 
.(个人用的是cuDNN V4)

        cudnn下载地址: 下载(http://blog.csdn.net/real_myth/article/details/52739801)

  本文安装方式

      由于cuda_7.0.28_linux.run安装需要编译内核,所以对于安装了桌面环境的ubuntu 需要结束桌面环境,在终端环境下操作。

      桌面环境转到终端环境

  1)按ALT+CTRL+F1、F2、F3、F4、F5、F6、F7可来回切换7个界面(Linux实体机)其中ALT+CTRL+F7可切换到图形界面(Linux实体机)如果是VMware虚拟机安装的Linux系统,则切换到图形界面的时候需要以下操作按下ALT+CTRL+SPACE(空格),ALT+CTRL不松开,再按F7。这样就可以切换到图形界面了。

  2) 如果想Ubuntu在每次启动到commandprompt(默认字符界面),可以输入以下指令:echo“false”|sudotee/etc/X11/default-display-manager(注意:上述命令的作用是将default-display-manager文件中的内容改为"false",在执行该命令之前最好先备份一下)当下次开机时,就会以命令行模式启动(字符界面登录)。如果想变回图形界面启动(Xwindows启动),可以输入:echo“/usr/sbin/gdm”|sudotee/etc/X11/default-display-manager(注意:其中“/usr/sbin/gdm”是原先default-display-manager文件中的内容,并不是所有linux版本都是“/usr/sbin/gdm”,ubuntu12.04的是"/usr/sbin/lightdm"因此,在修改default-display-manager文件的内容之前,最好先备份一下,以免忘记里面的内容。)

 3)如果在Ubuntu以命令行模式启动,在字符终端想回到图形界面的话只需以下命令:startx

  

      停止和启动桌面环境:

  service lightdm stop & service lightdm start

  安装:

  转到cuda_7.0.28_linux.run所在的目录,以root权限运行此文件,并按照提示选择相应的安装工具和目录即可。

  我都是默认路径全部安装的

BLAS (通过 ATLAS, MKL,或 OpenBLAS提供)
     Caffe 需要 BLAS作为矩阵和向量计算的后端( backend).有很多这个库的移植版本.可以自己根据情况选择:
 

          ATLAS:

                    免费,开源代码,Caffe的默认依赖

                   
sudo apt-get install libatlas-base-dev

    Intel MKL: 


        商业版并且针对Intel的CPU做了优化, 可以免费试用,并且有学生版本.

        安装 MKL.

        在Makefile.config文件中设置 BLAS := mkl


    OpenBLAS: 


     免费的并且开源; 优化的可并行的 BLAS, 虽然安装需要花点时间,但是确实可以提速 .

        安装 OpenBLAS

        在Makefile.config文件中设置 BLAS := open


OpenCV.
       sudo apt-get install libopencv-calib3d-dev libopencv-contrib-dev libopencv-core-dev libopencv-dev libopencv-features2d-dev libopencv-flann-dev libopencv-gpu-dev libopencv-highgui-dev libopencv-imgproc-dev libopencv-legacy-dev libopencv-ml-dev libopencv-objdetect-dev
libopencv-ocl-dev libopencv-photo-dev libopencv-stitching-dev libopencv-superres-dev libopencv-ts-dev libopencv-video-dev libopencv-videostab-dev

     或者

  sudo apt-get install libopencv-dev

Boost (>= 1.55,  只有1.55和1.56测试过)
      sudo apt-get install libboost-all-dev

protobuf
,
leveldb
,
snappy
,
hdf5
, glog[/code],
gflags
,
lmdb


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

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

Ubuntu系统,  万一在你的系统源里找不到上面说的这些扩展库, 下面的命令教你如何手工编译安装 (安装的时候可能需要root权限)

# glog
wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install

 # gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install

 # lmdb
git clone git://gitorious.org/mdb/mdb.git
cd mdb/libraries/liblmdb
make && make install

Note that glog does not compile with the most recent gflags version (2.1), so before that is resolved you will need to build with glog first.

Python

          
python 2.7
,
numpy (>= 1.7)
, boost-provided
boost.python




      主要的依赖为
numpy
boost.Python
(通过 boost提供).
pandas
也是有用的并且是一些例子的依赖。

      可以通过以下命令安装依赖:

      for req in $(cat requirements.txt); do sudo pip install $req; done

      强烈推荐首先安装提供了大部分需要的的依赖包和hdf5依赖库的
Anaconda Python distribution。

      ubuntu: sudo apt-get install python
python-dev


       安装完成后,如果要导入
caffe的
Python模块,需要通过
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH


       或者类似的方法添加模块路径到你的环境变量
$PYTHONPATH
.
不可以在caffe/python/caffe路径中导入
!

      Caffe’的 Python 接口支持 Python 2.7. Python 3 或者更早的 Pythons.





MATLAB(可选),有mex编译器的MATLAB       

        安装MATLAB, 确保Matalab的
mex在你的环境变量
$PATH中
.

        Caffe的 MATLAB接口兼容于版本 2012b, 2013a/b, 和 2014a.

3.3 运行模式设置

cuDNN Caffe: Caffe通过drop-in integration of NVIDIA cuDNN的加速方式来达到最快的执行速度。

要加速你的Caffe模型, 请安装 cuDNN 然后在
Makefile.config
 文件中解注释
USE_CUDNN := 1,这样安装
Caffe后,就会自动加速.

CPU-only Caffe:  对于cold-brewed 只有CPU模式的Caffe,请在文件Makefile.config中,解注释
CPU_ONLY := 1,然后以无CUDA的方式编译
Caffe.这有助于云和集群方式的部署。

3.4 编译 & 安装


3.4.1 直接使用已有的Makefile

现在已经具备了所有的依赖条件, 编辑你的配置文件 
Makefile.config,改变你的安装路径
 (you should especially uncomment and set
BLAS_LIB
accordingly on distributions likeCentOS / RHEL / Fedora where ATLAS is installed under
/usr/lib[64]/atlas
),默认的配置是可以的,但是如果你使用的是Anaconda
Python,请解注释相关的行。

cp Makefile.config.example Makefile.config
# Adjust Makefile.config (for example, if using Anaconda Python)
make all
make test
make runtest

编译的时候如果要引入cuDNN加速,你需要在文件Makefile.config中解注释
USE_CUDNN := 1。


如果你的电脑上没有 GPU,你应该使用CPU-only模式的Caffe,请在文件Makefile.config中解注释
CPU_ONLY := 1
 。

要编译 Python 和 MATLAB 包,请独立的执行
make pycaffe和
make matcaffe
 . 请务必首先在Makefile.config中配置你的MATLAB 和 Python路径!

Distribution: 运行
make distribute来创建一个包含所有的Caffe 头文件, 编译好的依赖库,二进制文件等的分布式路径,用于其他机器的配置
.

Speed: 如果要快速的编译,请通过
make all -j8的方式并行编译,其中
8是并行编译的线程的数量(并行线程的数量最好等于你机器CPU核的数量).

到目前为止,你已经安装了Caffe, 请参照
MNIST tutorial 和
reference ImageNet model tutorial进行进一步的操作.

3.4.2 使用CMake (beta)编译

通过手工编辑
Makefile.config的方式告诉
Caffe 寻找依赖的的位置, Caffe 也提供了一个基于 CMake的编译系统 (currently in “beta”).要求CMake 版本 >= 2.8.8. 基本的安装步骤如下:

mkdir build
cd build
cmake ..
make all
make runtest


        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: