书接上回,讲到hdf5的编译,接下来讲后续依赖的编译。
一、opencv
我这里使用的版本是3.1,具体我也不知道为什么但大家都在用。
下载好源码后进入opencv目录下
1.执行mkdir build && cd build
2.执行cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/path/to/save -DWITH_IPP=OFF ..
记住,这里一定要加上-DWITH_IPP=OFF,否则会提示下载ippicv package错误,进而失败
3.执行make && make install
注意,这里在make过程中可能会报错,详情及修改参见参考文献1。我编译的opencv3.1和参考文献1中有一个参数不太一样,参考文献1中使用的是CUDART_VERSION,我使用的是CUDA_VERSION。
4.指定环境变量
最后记得自己写个小程序测试一下。
二、leveldb
leveldb需要snappy,关于snappy的编译与安装参照附录1。
虽然说caffe官网声称leveldb需要snappy,但是我在编译过程中并没有用到snappy,具体原因未知。
此外,可以在cmake过程中使用-DCMAKE_INSTALL_PREFIX指定安装目录,就不用使用丑陋的make DESTDIR=XXX install了。
1.进入leveldb目录,mkdir build && cd build
2.执行cmake -DCMAKE_INSTALL_PREFIX=XXX ..,注意命令的最后还有两个英文句号字符,意思是cmake上级目录
3.执行make && make install
4.指定环境变量
三、lmdb
lmdb和前面的稍有不同,我这里需要进入XXX/lmdb/libraries/liblmdb,在这个目录下有源文件以及Makefile
1.在Makefile中找到prefix,并将prefix的值改为安装位置
2.make && make install
3.配置环境变量,大功告成
四、cudnn(这里需要管理员权限)
1.到英伟达官网下载cudnn相关文件
2.将文件中include文件和lib文件移植到cuda相应的include和lib64文件夹中
3.测试据说官方有个测试程序,但我没有找到,这里就不测试了。另外,不要信广为流传的nvcc -V测试方法。
后续就是重头戏编译Caffe了,下一篇会介绍如何编译Caffe,后续如果有时间的话还会尝试着玩一下nccl。
附录1:snappy的编译与安装
1.mkdir build && cd build
2.执行cmake
3.make && make install
参考文献
1. https://blog.csdn.net/QLULIBIN/article/details/80730799 opencv编译及安装
2.cudnn installation guide
原文地址:https://www.cnblogs.com/left4back/p/10961678.html