一. caffe2之安装与编译

1. CPU版本

直接按照官网教程即可:Install

我的cpu版本安装在笔记本上,系统是64位的Ubuntu 14.04,一步成功

2. GPU版本

先按照官网教程:Install

环境:

服务器:64位的Ubuntu 16.04

GPU :2块Tesla K80

中间出现了一些问题和解决方法如下:

①. cudnn版本不对, 错误提示为:

error: identifier “CUDNN_DATA_INT32” is undefined

解决方法:原因是我之前装了cudnn5.1,看下面两个文件可知,我需要更新cudnn

cudnn 5.1 cudnn.h
    typedef enum
    {
    CUDNN_DATA_FLOAT = 0,
    CUDNN_DATA_DOUBLE = 1,
    CUDNN_DATA_HALF = 2,
    } cudnnDataType_t;
cudnn 6.0 cudnn.h
    typedef enum
    {
    CUDNN_DATA_FLOAT = 0,
    CUDNN_DATA_DOUBLE = 1,
    CUDNN_DATA_HALF = 2,
    CUDNN_DATA_INT8 = 3,
    CUDNN_DATA_INT32 = 4,
    CUDNN_DATA_INT8x4 = 5
    } cudnnDataType_t;

cudnn更新方法如下:

去Nvidia官网下载cuDNN 6.0版本后解压
    sudo cp lib* /usr/local/cuda/lib64/
    sudo cp cudnn.h /usr/local/cuda/include/
更新软链接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6
sudo ln -s libcudnn.so.6 libcudnn.so
更新链接库:
    sudo ldconfig

3. 编译:

编译出错直接用下面的方法解决, 谁试谁知道

cd $caffe2_root
mkdir build
cd build
sudo cmake -DCUDNN_INCLUDE_DIR=/usr/local/cuda/include -DCUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF ..
sudo make

一步成功。

4. gflags错误:

错误信息:

ERROR: something wrong with flag ‘flagfile’ in file ‘/home/XXX/software

解决方法:重新手动安装gflags

下载git gflags
git clone https://github.com/gflags/gflags
mkdir build && cd build
ccmake ..  #打开BUILD_SHARED_LIBS  和两个 *LIB
sudo make
sudo make install

安装编译阶段只遇到这些问题,如有新的问题,再补充…

    原文作者:SuperHui
    原文地址: https://zhuanlan.zhihu.com/p/32048930
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞