一、前言
上一篇文章《Caffe配置》中,我提及了很多可以在CMake-gui中轻松修改的参数。但是还有一些参数,我没有提及,在这篇文章里详细的纪录一下,本文参考了@卜居 赵永科先生的《21天实战Caffe》34~43页当中的内容。
二、正文
接下来按顺序介绍:
1.ProtoBuffer
简单来说,ProtoBuffer是一个生成协议代码的工具,用户需要编写proto文件来规范生成怎样的c或者py代码。在Caffe中,很多参数模型和参数都是利用proto文件来编写的。值得注意的是proto文件拥有特殊的书写规范,如果不按规范书写,caffe.exe在读取的时候就会出错。好在会给出出错的行和列,有助用户进行修改。
2.Boost
Boost我们很熟悉了,在之前从源码开始编译PCL库的时候就曾经配置过Boost库,在Caffe中主要运用了Boost的智能指针,避免内存的泄漏和多次释放。
3.GFLAGS
进行cmd命令行解析
4.GLOG
提供流输入输出接口,便于开发者查看Caffe的中间输出。
5.BLAS
这个我在上一章提到过。一个线性代数库。我们在这里用到的是OpenBLAS。因为OpenBLAS是免费的。
6.HDF5
它用于存储不同类型的图像和数码文件,同时还有统一处理这种格式文件的能力。
7.OpenCV
开源计算机视觉库。在caffe中主要运用它的图片读写功能。
8.LMDB&LEVELDB
目前LMDB已经代替了LEVELDB,用于数据管理。图片文件的数据类型很多,LMDB可以将他们转换成为统一的格式,便于处理。
9.Snappy
在cmake中Snappy是一个Ungroup的参数,也说明它的作用不是那么的“重要”。主要用来压缩和解压缩C++库。
三、结语
嗯……就是这样啦,再见吧。