Caffe依赖包解析

一、前言

上一篇文章《Caffe配置》中,我提及了很多可以在CMake-gui中轻松修改的参数。但是还有一些参数,我没有提及,在这篇文章里详细的纪录一下,本文参考了@卜居 赵永科先生的《21天实战Caffe》34~43页当中的内容。
Caffe依赖包解析_第1张图片

二、正文

接下来按顺序介绍:

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++库。

三、结语

嗯……就是这样啦,再见吧。

你可能感兴趣的:(Caffe依赖包解析)