Caffe + Ubuntu 16.04 + GTK780 + GIGABYTE-uefi DualBIOS 配置

1.安装Ubuntu16.04
进入BIOS功能,将启动优先权各项全部关闭,F10保存,进入U盘启动模式,安装Ubuntu16.04
1.1 EFI引导分区 200M
1.2 swap area(交换空间)大约与本机内存相等
1.3 剩余空间全部用作Ext4日志文件系统, 挂在点选“/”
1.4 Device foor boot loader installation 选择在EFI引导分区下

2.预检
# lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GK110 [Geforce GTX 780] (rev a1)
01:00.1 Audio device:NVIDIA Corporation GK110 HDMI Audio (rev a1)
#uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
NAME="Ubuntu"
VERSION="16.04.1 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.1 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
UBUNTU_CODENAME=xenial
#gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.02) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

3.更新 /etc/apt/sources.list
deb http://mirrors.163.com/ubuntu/ raring main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ raring-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ raring-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ raring main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ raring-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ raring-backports main restricted universe multiverse

deb http://ubuntu.cn99.com/ubuntu/ precise main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ precise-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ precise main restricted universe multiverse

# apt-get update 

4. 安装cmake-2.8.12.1 
# sudo wget  http://www.cmake.org/files/v2.8/cmake-2.8.12.1-Linux-i386.tar.gz
#tar xzvfcmake-2.8.11.tar.gz
# cd cmake-2.8.11
# ./configure;  make;  make install

5. 安装依赖
# 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 libgflags-dev libgoogle-glog-dev liblmdb-dev

6. 安装cuda
因为需要GPU,故安装CUDA

6.1 安装NVIDIA驱动
Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,没能得到NVIDIA的认可与支持,不过确让Linux更容易的应对各种复杂的NVIDIA显卡环境,让用户安装完系统即可进入桌面并且有不错的显示效果,故很多Linux发行版默认集成了Nouveau驱动,在遇到NVIDIA显卡时默认安装。企业版的Linux更是如此,几乎所有支持图形界面的企业Linux发行版都将Nouveau收入其中。
关闭Nouveau
#sudo gedit /etc/modprobe.d/blacklist.conf   在文件后面加入blacklist nouveau 
#mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak (无效)
#dracut -v /boot/initramfs-$(uname -r).img $(uname -r) (sudo apt-get install dracut)
下载驱动程序NVIDIA-Linux-x86_64-367.44.run
# sudo service lightdm stop   进入命令行
# sudo ./NVIDIA-Linux-x86_64-367.44.run
You appear to be running an X server; please exit X ...
# ps -e | grep X
# sudo kill Xorg   kill掉X进程
# sudo ./NVIDIA-Linux-x86_64-367.44.run
中途会报一些错误与警告,不用搭理
# sudo service lightdm start   返回图像界面
进入图像界面后报错: System program problem detected (未解决)
# nvidia-smi  检查驱动

6.2 安装CUDA
# sudo ./ cuda_7.5.18_linux.run --override

# sudo gedit ~/.bashrc  修改环境变量
export PATH=$PATH:/usr/local/cuda-7.5/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
#source ~/.bashrc

# sudo gedit /etc/ld.so.conf   修改动态链接
/usr/local/cuda/lib64
# sudo ldconfig

nvcc -V  检查CUDA

# cd /usr/local/cuda-7.5/samples
# sudo make 测试CUDA
报错:unsupported GNU version! gcc versions later than 4.9 are not supported
gcc版本过高,修改CUDA配置文档,没有选择去降低gcc版本
# cd /usr/local/cuda/include/
# sudo cp host_config.h host_config.h.bak
# sudo gedit host_config.h 
if _GNUC_>4 || (_GNUC_ == 4 && _GNUC_MINOR_ > 9)  将两个4改为5
# cd /usr/local/cuda-7.5/samples
# sudo make  测试CUDA,通过

6.3 安装CUDNN
下载cudnn7.5-linux-x64-v5.1.tgz
# sudo cpinclude/cudnn.h /usr/local/cuda/include
# sudo cp lib64/libcudnn.*  /usr/local/cuda/lib64
# cd /usr/local/cuda/lib 
需要对cudnn进行修改,添加软链接
# sudo rm -rf libcudnn.so libcudnn.so.5
# sudo ln -s libcudnn.5.1.3 libcudnn.so.5
# sudo ln -s libcudnn.so libcudnn.so

7. 安装 MKL   (需要序列号,现有文件包安装)
# tar xzvf l_mkl2017.0.098.tgz
# cd  l_mkl2017.0.098
# ./install.sh
# serial number xxxx-xxxxxxxx

# sudo vim ~/.bashrc
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64: $LD_LIBRARY_PATH
# source ~/.bashrc

8. 安装Anaconda
下载Anaconda2-4.1.1-Linux-x86_64
# sudo bash  Anaconda2-4.1.1-Linux-x86_64
PREFIX=/usr/anaconda2
installing: hdf5-1.8.16-0 ...
installing: mkl-11.3.3-0 ...

anaconda 自动添加环境变量
export PATH="/root/anaconda/bin:$PATH"  

9. 安装opencv
9.1 opencv2.4.13安装
下载opencv2.4.13.zip
# unzip opencv2.4.13.zip  && cd opencv2.4.13
# mkdir release
# cd release
# cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2 -D CUDA_GENERATION=Kepler ..  (GTX780显卡,Kelper架构)
# make 

报错
error:/usr/include/string.h:652:42:error: ‘memcpy’ wasnotdeclaredin this scope
原因g++版本太新了,兼容一下,在出现上面错误时,在CMakeLists.txt中前几行添加
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -D_FORCE_INLINES")

# sudo make install
set runtime path of "/usr/local/opencv2/bin/opencv_visualisation" to "/usr/local/opencv2/lib:/usr/local/cuda/lib64" 
... 

9.2  配置环境变量
# sudo gedit ~/.bashrc
# exportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv2/lib/pkgconfig
# exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv2/lib
# source ~/.bashrc

9.3 opencv测试
# cd  /usr/opencv-2.4.13/samples/c
# sudo ./build_all.sh
报错: coutours.c:1:39 fatal error: opencv2/imgproc/imgproc_c.h: No such file or direction
第7步已经配置了环境变量,大费周章后
# sudo  cp /usr/local/lib/pkgconfig/opencv.pc /usr/lib/pkgconfig 
# /usr/opencv-2.4.13/samples/c      ./find_obj 测试通过

10. 安装 caffe
10.1 下载caffe-master.zip 进行安装
# unzip caffe-master.zip 
# cd caffe-master
# sudo cp Makefile.config.example Makefile.config
# sudo vim Makefile.config

###############[Makefile.config]
USE_CUDNN = 1
BLAS := mkl

PYTHON_INCLUDE := /usr/anaconda2/include/python2.7 \
                                   /usr/anaconda2/lib/python2.7/site-packages/numpy/core/include
PYTHON_LIB := /usr/anaconda2/lib
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include \
                             /opt/intel/mkl/include 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib \
                            /opt/intel/mkl/lib 
###############[Makefile.config]

# make all -j8
报错: fatal error: hdf5.h: No such file or direction
进入 Makefile.config文件
INCLUDE_DIRS : = $( PYTHON_INCLUDE ) ... \
/usr/ include /hdf5/serial        将该路径添加至 INCLUDE_DIRS中
进入 Makefile 181行
LIBRARIES + = ...  hdf5_hl hdf5
改为
LIBRARIES += ...  hdf5_serial_hl hdf5_serial

报错: ./include/caffe/util/cudnn.hpp: In function 'void caffe::cudnn::createPoolingDesc(...'
         ./include/caffe/util/cudnn.hpp:127:41: error: too few arguments to function ‘cudnnStatus_t
caffe版本与cudnn版本不匹配,下载最新版caffe安装 

报错: NVCC src/caffe/layers/silence_layer.cu
         /usr/include/string.h:652:42 error:'mempy' was not declared in this scope
Makefile文件609行,添加  -D_FORCE_INLINES
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

# make test -j8
# make runtest -j8
报错: symbol lookup error: /opt/intel/mkl/lib/intel64/libmkl_intel_thread.so: undefined symbol: 
libmkl_intel_thread未找到libomp5
#sudo cp /opt/intel/lib/intel64_lin/libomp5.so /usr/local/lib

# make pycaffe
export PYTHONPATH= $PYTHONPATH: .../caffe/python
进入python环境,测试import caffe通过

10.2 测试MNIST
进入到caffe根目录下
./data/mnist/get_mnist.sh                       下载minst数据库

一定要在caffe的根目录下运行./examples/mnist/create_mnist.sh
否则会有错误“ build/examples/mnist/convert_mnist_data.bin: not found”
./examples/mnist/create_mnist.sh        数据转成lmdb格式
./examples/mnist/train_lenet.sh            训练mnist
输出正确率为99.05%

至此,caffe安装完成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值