半小时搭建 Ubuntu16.04 + CUDA8.0 + CUDNN5.0 + Caffe 环境

来源:互联网 发布:百度域名劫持事件 编辑:程序博客网 时间:2024/06/07 04:57

半小时搭建 Ubuntu16.04 + CUDA8.0 + CUDNN5.0 + Caffe  环境


一、准备工作

Ubuntu系统盘的制作请参照:

CUDA 8.0 + CUDNN 离线包的下载:参照官网 || 百度云


二、安装工作
2.1. 将CUDA离线包放在根目录下,执行以下代码:
$ sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda


2.2. 设置环境变量:
    打开文件.profile(只对当前用户生效):
    $sudo gedit ~/.profile

    在文件的末尾添加如下几行:
    export CUDA_HOME=/usr/local/cuda-8.0 
    export LD_LIBRARY_PATH=${CUDA_HOME}/lib64 
    PATH=${CUDA_HOME}/bin:${PATH} 
    export PATH


    保存文件之后在命令行执行一下,让配置内容生效
    $source ~/.profile

2.3. 重启电脑,重启电脑,重启电脑(重要说三遍),否则有可能编译不过官方例程
2.4. 查看CUDA安装情况
    编译官方自带Samples
    $cd /usr/local/cuda/samples/
    $sudo make


    例子编译好之后,在samples下面的子文件bin/x86_64/Linux/release中,运行编译好的可执行程序
    $cd  bin/x86_64/linux/release
    $./deviceQuery

    如果一切正常,那么该程序会打印出本机cuda device的一些信息,如下:

    

至此CUDA8.0 安装结束


三、caffe的安装及编译
3.1 换源,推荐切换到sohu的源
3.2 一些必要的库的安装
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libboost-all-dev libhdf5-serial-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags ipython
sudo apt-get install -y protobuf-c-compiler protobuf-compiler

3.3 安装BLAS(可选择ATLAS,MKL或OpenBLAS)这里使用ATLAS:方便啊!一个命令行就搞定
sudo apt-get install libatlas-base-dev
3.4 安装opencv2(caffe的使用上很少涉及3.0的东西,如有需要安装3.0请参照)
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv

3.5 安装CUDNN
tar zxvf cudnn-xxxxxx.tgz
cd cuda
sudo cp include/cudnn.h /usr/local/include
sudo cp lib64/libcudnn.* /usr/local/lib
sudo ln -sf /usr/local/lib/libcudnn.so.5.1.3 /usr/local/lib/libcudnn.so.5
sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so
sudo ldconfig -v

3.6 以上所有动态库基本安装完毕,接下来开始编译caffe
cd $CAFFE_ROOT
cp Makefile.config.example Makefile.config

打开 USE_CUDNN 前和WITH_PYTHON_LAYER 前的注释
make all -j64 && make py
至此caffe 安装结束




ERRO: hdf5.h: 没有那个文件或目录”解决方法
在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include  
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial




阅读全文
0 0