caffe环境配置

Posted vactor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了caffe环境配置相关的知识,希望对你有一定的参考价值。

参考:http://blog.csdn.net/enjoyyl/article/details/47397505

http://blog.csdn.net/baobei0112/article/details/77996369

 

 

0.检查你的电脑是否支持CUDA: 
检查GPU是否支持:输入如下命令,如果输出的GPU型号是NVIDIA的,并且在此http://developer.nvidia.com/cuda-gpus列表内,则支持。

lspci | grep -i nvidia

第1步 安装依赖包

安装后续步骤或环境必需的依赖包,依次输入以下命令:

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

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev

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

sudo apt-get install git cmake build-essential
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

有一定几率安装失败而导致后续步骤出现问题,所以要确保以上依赖包都已安装成功,验证方法就是重新运行安装命令,如验证 git cmake build-essential是否安装成功共则再次运行以下命令:

 sudo apt-get install git cmake build-essential 
  • 1

界面提示如下则说明已成功安装依赖包,否则继续安装直到安装成功。

[email protected]:~$ sudo apt-get install git cmake build-essential
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
build-essential 已经是最新版 (12.1ubuntu2)。
cmake 已经是最新版 (3.5.1-1ubuntu3)。
git 已经是最新版 (1:2.7.4-0ubuntu1.1)。
下列软件包是自动安装的并且现在不需要了:
  lib32gcc1 libc6-i386
使用‘sudo apt autoremove‘来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 94 个软件包未被升级。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

第2步 禁用 nouveau

安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一条禁用命令,首先需要打开该文件,通过以下命令打开:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
  • 1

打开后发现该文件中没有任何内容,写入:

blacklist nouveau option nouveau modeset=0 
  • 1

保存时命令窗口可能会出现以下提示:

** (gedit:4243): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-position
  • 1
  • 2

无视此提示~,保存后关闭文件,注意此时还需执行以下命令使禁用 nouveau 真正生效:

sudo update-initramfs -u
  • 1

第3步 配置环境变量

同样使用 gedit 命令打开配置文件:

sudo gedit ~/.bashrc
  • 1
  • 2

打开后在文件最后加入以下两行内容:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 
  • 1
  • 2
  • 3

保存退出。

第4步 下载 CUDA 8.0


在官网下载的deb安装包,9.0版。

第5步 安装 CUDA 8.0

2.安装依赖工具:需要连网。

# installation of required tools
sudo apt-get install -y gcc g++ gfortran build-essential   git wget linux-image-generic libopenblas-dev python-dev   python-pip python-nose python-numpy python-scipy
  • 1
  • 2
  • 3
  • 4

3.安装CUDA

# installing CUDA
sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

sudo apt-get update
sudo apt-get install cuda
  • 1
  • 2
  • 3
  • 4
  • 5

4.设置环境变量

注意:此环境变量为64位系统下的,32位的把lib64改成lib即可。

方式1,仅修改用户变量

# setting the environment variables so CUDA will be found

echo "\nexport PATH=/usr/local/cuda-7.0/bin:$PATH" >> ~/.bashrc
echo "\nexport LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
  • 1
  • 2
  • 3
  • 4

方式2,修改所有用户变量 
先使用sudo gedit /etc/profile打开“profile”文件,或者sudo gedit ~/.bashrc打开“./bashrc”文件,然后在打开的文件的末尾添加如下代码并保存

# setting the environment variables so CUDA will be found
# After open profile, Add follow code at the end of file
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
  • 1
  • 2
  • 3
  • 4

5.加载新的环境变量:添加好环境变量后,需要加载新的环境变量,才能应用于系统。

加载更新环境变量source ~/.bashrc(方式1),source /etc/profilesource ~/.bashrc(方式2)。

=====重启系统!重启系统!重启系统!=======

sudo reboot

安装cuda sample

进入/usr/local/cuda/samples, 执行下列命令来编译samples

sudo make all -j4

全部编译完成后, 进入 samples/bin/x86_64/linux/release目录, 运行deviceQuery

./deviceQuery

如果显示Result = PASS则说明安装成功,如果无法显示显卡信息,可以执行sudo reboot 命令重启再测试一下。

http://www.jianshu.com/p/20f8d9233075

第6步 验证 CUDA 8.0 是否安装成功

分别执行以下命令:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery
  • 1
  • 2
  • 3
  • 4
  • 5

若看到类似以下信息则说明 cuda 已安装成功:

./deviceQuery Starting...

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

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GT 740M"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    3.5
  Total amount of global memory:                 2004 MBytes (2100953088 bytes)
  ( 2) Multiprocessors, (192) CUDA Cores/MP:     384 CUDA Cores
  GPU Max Clock rate:                            1032 MHz (1.03 GHz)
  Memory Clock rate:                             800 Mhz
  Memory Bus Width:                              64-bit
  L2 Cache Size:                                 524288 bytes
。。
Result = PASS


第7步 安装 cudnn

登录官网:https://developer.nvidia.com/rdp/cudnn-download ,下载对应 cuda 版本且 linux 系统的 cudnn 压缩包,注意官网下载 cudnn 需要注册帐号并登录,不想注册的可从我的网盘下载:https://pan.baidu.com/s/1c2xPVzy

技术分享

载完成后解压,得到一个 cudn 文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cudn/include 路径下,然后进行以下操作:

sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
  • 1

然后命令行进入 cudn/lib64 路径下,运行以下命令:

sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
  • 1
  • 2
  • 3
  • 4

这里需要注意第三行命令,网上有人的第三行命令为:

sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
  • 1

起初我执行的也是上条链接 libcudnn.so.5.1.5 的命令,但是后面编译caffe时出错,报错内容为 /usr/bin/ld: 找不到 -lcudnn,所以这里需要先查看一下自己应该链接的是 libcudnn.so.5.1.10 还是 libcudnn.so.5.1.5 ,查看方法为下:

locate libcudnn.so
  • 1

我执行完后显示如下:

 

[email protected]:~$ locate libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so.5 /home/yhao/.local/share/Trash/files/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/info/libcudnn.so.5.1.10.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.5.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.trashinfo /home/yhao/cuda/lib64/libcudnn.so /home/yhao/cuda/lib64/libcudnn.so.5 /home/yhao/cuda/lib64/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so /usr/local/lib/libcudnn.so.5

可以看到我的文件是 libcudnn.so.5.1.10 ,并没有 libcudnn.so.5.1.5,所以第三行命令我链接的是 libcudnn.so.5.1.10 ,这里第三行链接命令视你的查看结果而定。

安装完成后可用 nvcc -V 命令验证是否安装成功,若出现以下信息则表示安装成功:

yhao@yhao-X550VB:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

第8步 安装 opencv3.1

进入官网 : http://opencv.org/releases.html , 选择 3.3.1 版本的 source , 下载 opencv-3.3.1.zip 
技术分享

解压到你要安装的位置,命令行进入已解压的文件夹 opencv-3.3.1 目录下,执行:

mkdir build # 创建编译的文件目录

cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

make -j8  #编译

编译运行到37%时出现错误,改成(http://blog.csdn.net/sysuwuhongpeng/article/details/45485719)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
make -j8  #编译
 

 
















以上是关于caffe环境配置的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 14.04 配置caffe环境

Mac OSX (EI Capitan)搭建Caffe环境并配置python接口

caffe环境配置

pytorch模型转caffe模型

Caffe初试

Caffe学习系列(11):数据可视化环境(python接口)配置