caffe环境搭建包含cuda cudnn
1.主机环境
ubutnu18.04 X86新装系统(实体机)
2.安装anaconda
官网 https://www.anaconda.com/
下载连接 https://www.anaconda.com/distribution/#download-section 请自行下载
获得Anaconda3-2019.10-Linux-x86_64.sh 可执行文件
运行该可执行文件(不推荐使用sudo)
注意:请按enter键缓慢至第一行选择yes (默认为no不能一直按enter)
最后等待几分钟便安装成功
默认安装路径为
$HOME/anaconda3
为了便于文件管理为此处为创建软链接
并在~/tools/ 下面创建envs文件
编写内容如下:
#anaconda
export PATH=$PATH:/home/guan/anaconda3/bin
执行
source ~/tools/envs
conda init
重启终端
及可使用anaconda
3.安装cuda
cuda 官网 https://developer.nvidia.com/cuda-downloads
请至官网https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=debnetwork
选择你对应的环境
我的环境命令复制到下面
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda
4.安装cudnn
官网https://developer.nvidia.com/cudnn
下载链接 https://developer.nvidia.com/rdp/cudnn-download
注意:版本必须与cuda安装版本相同
我的为10.2
选择x86平台 选择cuDNN Library for Linux
链接https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.2_20191118/cudnn-10.2-linux-x64-v7.6.5.32.tgz
此下载链接需要注册cuda官网账号免费下载
下载文件名为
cudnn-10.2-linux-x64-v7.6.5.32.tgz
cudnn安装方法官网地址: https://docs.nvidia.com/deeplearning/sdk/cudnn-install/
安装代码为
$ tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
至此cuda 10.2 cudnn 10.2 安装完成
注意:需要重启电脑才能使cuda驱动加载
重启电脑执行
nvidia-smi
看见
及安装cuda完成
笔记:虚拟机不能安装cuda 此图片为安装cuda成功界面,cudnn需要编译代码时才知道是否成功
5.安装系统环境 gcc cmake pip
详见博客""
6.anaconda 创建环境
创建caffe命令 caffe推荐python2.7
conda create -n caffe python=2.7
当前用户没有写权限(截图中为3.6请忽略 实际2.7)
解决办法
sudo chown guan:guan /home/guan/.conda
将root用户文件夹改为自己用户属性
最后安装结束时提示文件没有写使能 依然是权限问题
sudo chown guan:guan anaconda3/*
最后到捣鼓了半天
决定重新装anaconda3 所以建议不要使用sudo,作为linux界的老油条当然绝对不想什么都sudo一下来解决问题。
并且在anaconda3 装机期间重新修改了安装目录这样就不需要创建软链接了
这里修改:
[/home/guan/anaconda3] >>> /home/guan/tools/anaconda3
捣鼓半天问题依然还是没有解决
最后我妥协了 忽略吧
总结:
此为最终成功创建环境界面,以后有新的发现再更新吧,欢迎各位大佬批评。
7.caffe源代码编译安装
1.pip安装
pip install pip -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
后面-i https://pypi.tuna.tsinghua.edu.cn/simple some-package为pip清华源速度会快一点
2.依赖文件的安装
caffe/python/requirements.txt
文件里面有所有需要安装的依赖包
执行命令
for line in `cat requirements.txt`
do
pip install $line -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
done;
等待安装完成
3.opencv4的安装
git 克隆地址 https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv.git
进入源代码目录新建一个build目录
cmake ..
编译之前请安装gtk再编译否则不支持图形界面显示
sudo apt-get install gtk+-3.0
然后cmake …
make -j8
make -j8
修改cmake_install.cmake 文件
再次make -j8
mkdir install_opencv4
mkdir install_opencv4
make install
make install
当前目录为opencv/build目录
添加环境变量
更新环境变量
source envs
4.进入caffe cmake … Could NOT find Boost错误
解决方案
sudo apt-get install libboost-all-dev
5.Could NOT find GFlags Could NOT find Glog Could NOT find Protobuf 错误
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install protobuf-compiler
最后安装protobuf-compiler 成功后再cmake …
找不到头文件错误此时想到的应该是从源文件安装
sudo apt-get remove protobuf-compiler
git protobuf 地址 https://github.com/protocolbuffers/protobuf.git
git clone https://github.com/protocolbuffers/protobuf.git
源码编译指南见:https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
请确认autoconf automake libtool make g++
unzip 已经安装
git submodule update --init --recursive
Failed to clone ‘third_party/googletest’ a second time, aborting
由于不能访问谷歌导致下载googletest失败 暂时忽略
./autogen.sh
./configure
configure: WARNING: no configuration information is in third_party/googletest
没有googletest 暂时忽略
make
make check
此时自检失败
则必须下载googletest
我从github上找到googletest
https://github.com/google/googletest.git
git clone https://github.com/google/googletest.git
替换third_party/googletest目录的googletest
重新
git submodule update --init --recursive
./autogen.sh
./configure
终于成功了
继续make (注意要make clean一下)
make check
sudo make install
sudo ldconfig # refresh shared library cache.
进入 caffe源码build目录
rm * -rf
cmake …
protobuf问题最终通过 哈哈
6.Could NOT find LMDB
解决方案
sudo apt-get install liblmdb-dev
7.Could NOT find LevelDB
解决方案
sudo apt-get install libleveldb-dev
8.Could NOT find Snappy
解决方案
sudo apt-get install libsnappy-dev
9.Could NOT find Atlas
解决方案
sudo apt-get install libatlas-base-dev
10.Could NOT find Doxygen
解决方案
sudo apt-get install doxygen
注意:
这个警告是再使用anaconda环境时产生的,本人亲测没有使用anaconda环境时没有此警告
暂时忽略
此时已经完成了80%的工作了 耶。
上图证实cudnn已经安装成功了
11.进入caffe源码 make -j8 报错 CV_LOAD_IMAGE_COLOR CV_LOAD_IMAGE_GRAYSCALE 未定义
解决方案
进入opencv 源码
grep CV_LOAD_IMAGE_COLOR -r ./
grep CV_LOAD_IMAGE_GRAYSCALE -r ./
分别查到
CV_LOAD_IMAGE_COLOR的值为1
CV_LOAD_IMAGE_GRAYSCALE的值为0
请修改报错对应cpp文件添加如下代码:
#define CV_LOAD_IMAGE_COLOR 1
#define CV_LOAD_IMAGE_GRAYSCALE 0
接下来
make runtest -j8
依然有上述错误,按照上述方法解决
至此检测成功 ok
make install
及安装完毕
12.caffe 安装目录修改
将caffe更目录cmake_install.cmake文件里面的
CMAKE_INSTALL_PREFIX
修改为
CMAKE_INSTALL_PREFIX “/home/guan/tools/caffe/install”
及修改默认安装目录为/home/guan/tools/caffe/install
如果修改不成功则修改build目录下的该文件
到此我的caffe已经成功安装在install目录下
13.caffe运行环境变量添加
`代码:
export PYTHONPATH=/home/guan/tools/caffe/build/install/python
将这个代码写入envs文件
source envs
8.caffe验证
没有报错ok
下篇说tensorflow的环境安装。
tensorflow的环境安装博文里面有基于opencv源码安装opencv-python说明
tensorflow的环境安装见:
https://blog.csdn.net/u012350025/article/details/104761917