一 .安装cuda8.0及对应cudnn
问题
1.编译cuda 例子失败
解决:在cuda8.0/Samples/3_Imaging/cudaDecodeGL/findgllib.mk 中把61行
UBUNTU_PKG_NAME = "nvidia-384"改为本机版本
查看版本命令如下:
cat /proc/driver/nvidia/version
2.cblas.h报错
./include/caffe/util/mkl_alternate.hpp:14:19: fatal error: cblas.h: 没有那个文件或目录
解决:
由于我的Makefile.config文件中BLAS为atlas.
在终端输入:sudo make clean
sudo apt-get install libatlas-base-dev
重新进行编译就好了。
3.hdf5.h报错
src/caffe/layers/hdf5_data_layer.cu:10:18: fatal error: hdf5.h: 没有那个文件或目录
解决:
参考
修改Makefile.config文件以下两行:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
4.libcaffe.so.1.0.0报错
/usr/bin/ld: 找不到 -lopenblas
collect2: error: ld returned 1 exit status
Makefile:583: recipe for target ‘.build_release/lib/libcaffe.so.1.0.0’ failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
解决:在Makefile.config中把BLAS := oepn改为 BLAS := atlas
二 . matlab安装及matcaffe配置
安装
- 把iso文件放在home/
- 在home下新建matlab文件夹
$ cd ~
$ mkdir matlab - 挂载matlab挂载matlab
sudo mount -t auto -o loop R2016b_glnxa64_dvd1.iso matlab/
执行如下代码开始安装
sudo ./matlab/install
选择密钥激活,密钥可readme - 挂载第二个iso
安装进行到82%的时候,会弹出一个提示框,说请插入dvd2,这时候我们需要重新开一个终端,把dvd2挂载到matlab文件夹中:
$ sudo mount -t auto -o loop Linux/R2016b_glnxa64_dvd2.iso matlab/
然后在对话框中点击OK,继续安装。完成安装后取消iso挂载:
$ umount matlab/
$ sudo rm -r matlab/ # 删除空的文件夹 - 激活matlab
安装完成后,可以在终端中输入matlab打开软件,如果失败,只能去安装位置打开:
$ cd /usr/local/MATLAB/R2016b/bin
$ ./matlab # 如果是第一次运行,建议加sudo
第一步,先载入激活文件license_standalone.lic:
第二步,把Crack文件夹中R2016b/Linux/R2016b/bin/glnxa64四个文件,复制到/usr/local/MATLAB/R2016b/bin/glnxa64目录下:
$ sudo cp Crack/R2016b/bin/glnxa64/libcufft.so.7.5.18 /usr/local/MATLAB/R2016b/bin/glnxa64
$ sudo cp Crack/R2016b/bin/glnxa64/libinstutil.so /usr/local/MATLAB/R2016b/bin/glnxa64
$ sudo cp Crack/R2016b/bin/glnxa64/libmwlmgrimpl.so /usr/local/MATLAB/R2016b/bin/glnxa64
$ sudo cp Crack/R2016b/bin/glnxa64/libmwservices.so /usr/local/MATLAB/R2016b/bin/glnxa64
编译matcaffe
问题
6.1 运行make mattest时可能会碰到下面这个错误:
MEX-file ‘/home/zzh/caffe/matlab/+caffe/private/caffe_.mexa64’ 无效:
/usr/local/MATLAB/R2016b/bin/glnxa64/…/…/sys/os/glnxa64/libstdc++.so.6:
version `GLIBCXX_3.4.21’ not found (required by
/home/zzh/caffe/matlab/+caffe/private/caffe_.mexa64)
解决方式是将matlab的libstdc++.so.6链接到系统的库文件。
sudo rm /usr/local/MATLAB/R2016b/sys/os/glnxa64/libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/Matlab/R2016a/sys/os/glnxa64/libstdc++.so.6
mattest出错
在caffe目录下的Makefile中
在CXXFLAGS += -MMP -MP下面加 426行
CXXFLAGS += -std=c++11
opencv安装
cmake . 报错
解决:
删除产生的CMakeCache.txt文件,然后重新运行cmake
rm -r CMakeCache.txt