2021年安装caffe的过程

环境:Ubuntu18.04, cuda11.1, cudnn 8.0.4

有两个大坑:

  • caffe不支持cudnn 7.5版本以上
  • 编译caffe需要用到高版本cmake

1. 首先从GitHub上克隆caffe的项目:

git clone https://github.com/BVLC/caffe.git

2. 编辑编译caffe的配置文件

cd caffe
cp Makefile.config.example Makefile.config
vim Makefile.config

有几个要修改的地方:
提示:使用Vim时可以用/keyword 来查找字段,按回车确认
当不用GPU版本时, # CPU_ONLY:= 1 改为 CPU_ONLY:= 1 (取消注释)

  • # WITH_PYTHON_LAYER := 1 改为 WITH_PYTHON_LAYER:=1 (取消注释)
  • # USE_CUDNN := 1 改为 USE_CUDNN := 1(取消注释)
  • # USE_OPENCV := 0 改为 USE_OPENCV :=1 (取消注释并修改值为1)
  • # USE_LEVELDB := 0 改为 USE_LEVELDB:=1,(取消注释并修改值为1)
  • # USE_LMDB := 0 改为 USE_LMDB :=1 (取消注释并修改值为1)
  • PYTHON_INCLUDE 改为python环境的路径及其下include文件夹路径,
    仔细看可以看到有anaconda的选项,修改ANACONDA_HOME的值为自己的虚拟环境的文件夹或anaconda文件夹,那么PYTHON_INCLUDE的路径就为ANACONDA_HOME下的include和numpy下的include


    PYTHON_INCLUDE
  • PYTHON_LIB 改为python环境路径下的lib文件夹路径


    PYTHON_LIB
  • INCLUDE_DIRS 和LIBRARY_DIRS 保持与PYTHON_INCLUDE和PYTHON_LIB一致


    INCLUDE_DIRS 和LIBRARY_DIRS
  • CUDA_DIR := 改为自己的cuda路径,一般为/usr/local/cuda-X.X

这个配置文件可以到这个网址进行下载
github

3. 修改cudnn版本

3.1 因为caffe不支持7.5版本以上的cudnn,因此需要下载7.5.0版本的cudnn

可以到英伟达的cudnn官网下载,下载时需要注册英伟达账户
https://developer.nvidia.com/cudnn

3.2 卸载先前的cudnn
sudo rm /usr/local/cuda-11.1/include/cudnn*
sudo rm /usr/local/cuda-11.1/lib64/libcudnn*
3.3 安装cudnn
sudo cp -r cuda/include/*  /usr/local/cuda-11.1/include/
sudo cp -r cuda/lib64/*  /usr/local/cuda-11.1/lib64/
3.4 检查cudnn版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果是7.5.0则安装成功

4. 安装新版cmake

如果出现NOTFOUND CUDA_cublas_device_LIBRARY 的错误,解决方法是更新cmake版本,截止至2021年,使用apt安装的cmake是3.10版本,会出现此错误。

4.1 卸载旧版本cmake

sudo apt remove cmake

4.2 下载新版本cmake,可以到cmake官网下载

https://cmake.org/download/

4.3 编译cmake
./bootstrap

如遇到错误提示,根据提示在configure里添加命令,如提示CMAKE_USE_OPENSSL相关错误,则可以在configure文件插入一行,DCMAKE_USE_OPENSSL OFF

4.4 安装cmake
make -j16
make install

5. 编译caffe

cd caffe
mkdir build 
cd build
cmake ..

再出现错误就具体情况具体分析

6. 安装caffe

make all -j 16
make test -j 16
make runtest -j 16
make pycaffe -j 16
cd ../  (distribute在caffe的根目录下)
make distribute -j 16

16是线程数,可以根据自己的电脑配置决定

7. 把caffe加入环境变量(~/.bashrc),以便在python中使用

export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
具体填写自己的caffe路径

至此可以在python中import caffe了

如果在pycharm中使用远程debug是要注意在python interpreter中添加第7步中/path/to/caffe/python的环境变量,因为默认环境中没有包含caffe,除非你的caffe本身就下载在python的包的文件下中


pycharm远程调试添加环境变量
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容