第5天 Caffe依赖包解析
5.1 ProtoBuffer
ProtoBuffer是由Google开发的一种可以实现内存与硬盘文件交换的协议接口,Caffe源码中大量使用ProtoBuffer作为权值和模型参数的载体,例如我们训练时使用的prototext文件,训练时会首先读取改文件,获得其中特定字段的数值,并据此设置内存中模型训练时的超参数变量值,从文件读取到内存的过程就是由ProtoBuffer工具协助我完成的。
就可以简单的把ProtoBuffer理解成是一个工具,它能够解析prototxt文件。
5.2Boost
C++的一个库,内容涵盖字符串处理,正则表达式,容器,数据结构,并发编程,函数式编程,泛型编程,设计模式实现,Caffe中主要使用了Boost中的智能指针,其自带引用计数功能,可避免共享指针时造成内存泄漏和多次释放,另外,pycaffe使用Boost Python实现C/C++和Python语言的连接,方便Python调用C/C++设计的模块。
5.3CFLAGS
CFLAGS在Caffe中主要起到命令行参数解析的作用,这与ProtoBuffer功能类似,只是参数输入源不同。
5.4GLOG
原文:https://www.cnblogs.com/cumtchw/p/12907376.html