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
安装编译阶段只遇到这些问题,如有新的问题,再补充…