caffe安装

本文记录了在Ubuntu 14.04 64位系统上安装Caffe的详细步骤,包括安装NVIDIA驱动、CUDA 6.5、OpenBLAS、OpenCV以及Python等依赖,特别提到了针对不同硬件配置的注意事项和解决编译问题的方法。
摘要由CSDN通过智能技术生成

忙活了几天终于把Caffe的环境搭建完成,我是在64位ubuntu14.04系统下安装的caffe,显卡及cuda版本如下,趁着有空记录下整个过程

显卡: Geforce GT630
系统: Ubuntu 1404 64bit
Cuda: Cuda 6.5 64bit
Caffe: 这里下载

仿照这个博客安装的:http://www.cnblogs.com/platero/p/3993877.html

1-安装基本包

apt-get install build-essential

2-安装NVIDIA驱动

A:进入Ubuntu, 按 ctrl+alt+F1 进入tty, 登录tty后输入如下命令,来关闭lightdm/gdm桌面管理器

  sudo service lightdm/gdm stop   

补充:如果想查看lightdm命令是否关闭成功可以用以下命令:pstree -p|grep X

B:输入下列命令添加驱动源

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update

安装340版驱动 (CUDA 6.5.14目前最高仅支持340版驱动, 343, 346版驱动暂不支持)

sudo apt-get install nvidia-340

安装完成后, 继续安装下列包 (否则在运行sample时会报错)

sudo apt-get install nvidia-340-uvm

安装完成后 reboot.
这一步安装比较顺利

3-安装Cuda 6.5,没弄懂原文是如何安装的记录我的安装方法

在安装cuda前先安装以下依赖库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev

在上述链接下载cuda6.5后,输入以下命令,安装

chmod 777 cuda_6.5.14_linux_64.run
./cuda_6.5.14_linux_64.run

补充:由于前面已经安装了显卡驱动,所以安装时驱动显卡不要再安装,其他就安默认一步步走下来

安装完成后要设置cuda到环境变量

/*在/etc/profile中添加环境变量, 在文件最后添加:*/
PATH=/usr/local/cuda-6.5/bin:$PATH
export PATH

/*再执行如下语句*/
source /etc/profile

/*用如下语句看是否配置成功*/
echo $PATH

再设置cuda库为默认的库查找路径

/*在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下*/
/usr/local/cuda-6.5/lib64

/*执行下述语句使生效*/
sudo ldconfig

编译cuda sample文件

cd /usr/local/cuda-6.5/samples
sudo make

最后进入/usr/local/cuda-6.5/samples/bin/x86_64/linux/release/目录,输入./deviceQuery,出现类似于如下打印表示安装成功

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 670"
  CUDA Driver Version / Runtime Version          6.5 / 6.5
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 4095 MBytes (4294246400 bytes)
  ( 7) Multiprocessors, (192) CUDA Cores/MP:     1344 CUDA Cores
  GPU Clock rate:                                1098 MHz (1.10 GHz)
  Memory Clock rate:                             3105 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 524288 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 Bus ID / PCI location ID:           1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce GTX 670
Result = PASS

4-安装blas库(基础线性代数子程序库)

主要是仿照http://blog.sina.com.cn/s/blog_6d09848701018smp.html安装的OpenBlas

$mkdir openblas  
$cd openblas   /*保存openblas源文件*/
$git clone https://github.com/xianyi/OpenBLAS.git  /*速度有点慢,可以用代理试试*/
$cd OpenBLAS
$make     /*编译*/
$sudo make --PREFIX=/usr/local/Openblas/ install  /*安装*/

执行完上面的命令 后会发看到如下图的安装结果::
这里写图片描述

补充:在caffe安装好后,编译时要指定Makefile.config.example中blas的类型与路径,如下,否则编译失败

# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := open
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
BLAS_INCLUDE := /usr/local/OpenBlas/include
BLAS_LIB := /usr/local/OpenBlas/lib

5-安装Opencv

我也下载https://github.com/jayrambhia/Install-OpenCV这个.sh文件自动安装的,下载 后解压,进入Install-OpenCV-master/Ubuntu/2.4/目录

chmod +x *.sh
./opencv2.4.10.sh

补充:这里我安装的是2.4.10版本,安装过程会下载opencv,速度有点慢,可以用其他工具下载后,放到脚本新建的OpenCV目录下,再运行上述脚本,其中在删除libx264-dev时会有个关于依赖项的报错,花了我很多时间才搞定,个人理解是版本不一致问题,还有在装qt5-defaul和时也是同样依赖库版本不一致出错,安装完成后在用pkg-config –modversion opencv命令查询opencv版本并更新Makefile.config.exampleh如下

补充:因为我的显卡是fermi框架,要在opencv2.4.10.sh中指定,否则会报错,同时要把CUDA_ARCH_BIN, CUDA_ARCH_PTX指定对应的显卡相匹配的值,这两个变量的值具体见上述执行./deviceQuery命令后显示的CUDA Capability Major/Minor version number: 的值。

# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 2.4.10

6-安装其他依赖项

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

7-安装python

首先安装pip和python-dev (系统默认有python环境的, 不过我们需要的是python-dev)

$ sudo apt-get install python-dev python-pip

然后执行如下命令安装编译caffe python wrapper 所需要的额外包

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

补充:将python的pip类库列表生成 requirements.txt 文件,否则执行第二个命令会报错

补充:这里我顺利安装了 就没有像原博客那样安装anaconda包,同样在编译caffe的的时候要修改Makefile.config.example文件如下,来指定python目录

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include

8-Matlab暂时未安装,后续补上

9-编译Caffe

根据上述目录把caffe下载后,进入/caffe-master/目录。备份一份Makefile.config.example

cp Makefile.config.example Makefile.config

然后按照上述的补充中说明中提到的修改akefile.config.example。然后执行下述四个命令:

make all -j4
make test -j4
make runtest -j4

make pycaffe

补充:执行命令前要把Makefile中的CONFIG_FILE := Makefile.config改成Makefile.config.example即配置文件为mm刚才改的这个配置文件 。在runtest时会报一个错::build_release/tools/caffe: error while loading shared libraries: libopenblas.so.0: cannot open shared object file: No such file or directory,解决方法:在/usr/lib/下建立一个 软链接将 libopenblas.so.0指向/openbls安装目录/lib/ libopenblas.so.0

暂完!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值