caffe之那些依赖的库

1. Boost库

Boost是一个可移植的,提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。Boost强调对跨平台的支持,编译与平台无关。Caffe采用C++为主要开发语言,其中大量的代码依赖于Boost库。

2. GFlags库

GFlags是Google的一个开源的处理命令行参数的库,使用C++开发,可以替代getopt函数。Caffe采用GFlags库开发命令行。

3. GLog库

GLog是一个应用程序的日志库,提供基于C++风格的流日志API,以及各种辅助的宏。它使用的方式与C++的stream操作类似。Caffe运行时的日志输出依赖于GLog库。

4. LevelDB库

LevelDB是Google实现的一个非常高校的Key-Value数据库。它是单进程的服务,性能非常高。是一个C/C++编程语言库。Caffe支持的两个数据库之一。

5. LMDB库

超级快、超级小的Key-Value数据存储服务,是由OpenLDAP项目的Symas开发的。使用内存映射文件,因此读取数据的性能跟内存数据库一样,其大小受限于虚拟地址空间的大小。Caffe支持的另外一个数据库。

6. ProtoBuf库

Google Protocol Buffer是一种轻便高效的结构化数据存储格式,可以用于结构化数据的串行化,或者说序列化。它很适合做数据存储或RPC数据交换格式。可用于通信协议,数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

7. HDF5库

HDF是美国国家高级计算应用中心为了满足各种领域研究需求而研制的一种高效存储和分支科学数据的新型数据格式。它可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。Caffe支持HDF5格式。

8. snappy库

它是一个C++库,用来压缩和解压缩的开发包。它旨在提供高速严肃哦速度和合理的压缩率。snappy比zlib更快,单文件要相对大20%到100%。Caffe在数据处理时以来于snappy库。