首页 > 技术文章 > Caffe相关库的介绍

happytaiyang 2019-10-07 22:56 原文

protobuffer:实现内存和非易失存储介绍(如硬盘文件)交换的协议接口。

boost:使用了很多现代编程技术,内容涵盖字符串处理,正则表达式,内容和数据结构,并发编程,函数式编程,泛型编程,设计模式实现等许多领域。在caffe中,主要使用了boost的智能指针,其自带引用计数功能,可避免共享指针时造成的内存泄漏或多次释放。

gflacs:在caffe中主要起命令行参数解析的作用,这与protobuffer功能类似,只是参数输入源不同。

glog:在caffe中主要起到记录日志的作用,便于开发者查看caffe训练中产生的中间输出,并根据这些信息决定如何调整参数来控制收敛。

blas:在caffe中主要负责cpu的数值计算。(如矩阵乘法)

hdfs:高效存储和兵法科学数据的新型数据格式。它可以存储不同类型的图像和数码数据的文件,并且可以在不同的类型的机器上输出,同时还有统一处理这种文件的函数库。caffe训练模型可以选择保存为hdfs或protobuffer。

lmdb和leveldb:闪电般的内存映射型数据库管理器。在caffe中的作用主要是提供数据管理,将形形色色的原始数据转换为统一的key-value存储。

snappy:压缩和解压缩的c++库,旨在提供较高的压缩速度和合理的压缩率。

推荐阅读