在我们开始caffe学习的第一步自然就是准备环境啦,对于初学者,这个过程或许很难,有的时候可能搞个几天,绕进去就出不来,今天小编将自己在学习过程中,遇到的问题说一下,希望可以节约你的精力!
一、环境准备
我是在自己的笔记本上装的双系统,ubuntu14.04 配置是GTX1070+16G,当然啦如果你的电脑没有GPU环境,可以安装cpu版,或者在windows上进行编译都是可以的,但是本人不建议在虚拟机中做编译。
1、显卡驱动安装:
lspci|grep -i nvidia //查看显卡是否支持nvidia
uname -m && cat /etc/*release // 查看linux支持的nvidia版本
sudo apt-get update
sudo apt-get install nvidia-384 //可根据显卡型号选择驱动型号
安装成功后:输入命令nvidia-smi,会有下图内容
Mon Aug 20 16:42:45 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX TIT... Off | 00000000:04:00.0 Off | N/A |
| 0% 51C P0 66W / 250W | 0MiB / 12207MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
2、CUDA及组件安装( 安装包,提取码是g8b0)
这个安装文件里一共包含了三个组件:
- 驱动程序安装文件
NVIDIA-Linux-x86_64-375.26.run
- CUDA安装程序
cuda-linux64-rel-8.0.61-21551265.run
- CUDA样例安装程序
cuda-samples-linux-8.0.61-21551265.run
由于驱动程序已经安装完毕,因此不需要再进行安装。所以推荐将下载好的 cuda 8.0 安装文件采用如下命令解压,单独执行 第二个程序:
chmod +x cuda_8.0.61_375.26_linux.run
./cuda_8.0.61_375.26_linux-run --extract=抽取路径
执行一下命令执行第二个程序安装 cuda 8.0:
sudo ./cuda-linux64-rel-8.0.61-21551265.run
安装完成后,采用以下命令配置一下运行库文件:
sudo bash -c "echo /usr/local/cuda/lib64/ > /etc/ld.so.conf.d/cuda.conf"
sudo ldconfig
输入nvcc -V
命令来验证安装,预期结果类似如下:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
Tips:如果遇到下面问题
The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit
#出现这种错误的原因是环境变量没有配置正确。解决方法如下:
vim ~/.profile
#(在文件最后加入以下内容)
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
### 保存退出
source ~/.profile
3)安装cudnn
采用以下命令安装:
sudo dpkg -i ./libcudnn7_7.1.4.18-1+cuda8.0_amd64.deb
sudo dpkg -i ./libcudnn7-dev_7.1.4.18-1+cuda8.0_amd64.deb
二、依赖环境安装
caffe依赖环境包括libprotobuf-dev,libsnappy-dev,libleveldb-dev,libhdf5-serial-dev,protobuf-compiler,libopenblas-dev
可以通过命令进行安装
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler #required by caffe
三、caffe及pycaffe编译
在上面的包中可以下载到caffe-ssd,也可以使用 sudo git clone https://github.com/BVLC/caffe.git进行下载比较新的版本
cp ./Makefile.config.sample ./Makefile.config
在Makefile.config 中找到USE_CUDNN:=1 将前面的注释#去掉,表示使用cuda进行编译,之后
make -j8 //8表示进程数
之后修改PYTHONPATH
环境变量,编译pycaffe
vim ../autolabel_env/bin/activate
# 在文件末尾添加以下内容
export PYTHONPATH=/path-to-caffe-ssd/python #(path-to-caffe-ssd是caffe-ssd的根目录)
# 保存退出
deactivate
source ../autolabel_env/bin/activate
make py
make pycaffe
到这里caffe-ssd
就编译完成了。
常见问题:
或许会遇到下述问题:
gcc 版本过低
[.build_release/cuda/src/caffe/layers/detection_output_layer.o] Error 1
解决方案:ubuntu14.04更新gcc版本
如果在python中import caffe遇到了下面这个问题
No Module named google.protobug.internal
主要是缺少caffe的一个依赖项:
sudo apt-get install python-protobuf
之后就可以在python中import了
Python 2.7.6 (default, Nov 13 2018, 12:45:42)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>>
坚持一件事情或许很难,但坚持下来一定很酷!^_^