您的位置:首页 > Web前端

Caffe代码分析经验

2017-05-02 10:33 302 查看
文件夹解析

include:Caffe所有头文件

src:Caffe源码文件

tools:工具源码

阅读路线

首先,从src/caffe/proto/caffe.proto开始,了解基本数据结构内存对象和磁盘文件的一一映射关系(由ProtoBuffer完成)。

其次,查看头文件类申明,理解整个框架,从基类向派生类顺藤摸瓜,掌握类的使用方法。

最后,有针对性的查看后缀名为cpp和cu文件。

CPU/GPU共享内存类

在caffe/syncedmem.hpp文件中定义CPU/GPU共享内存类,用于数据同步

Caffe类中成员变量都带有后缀”_”,易于区分临时变量和类成员变量。

Caffe框架编译之后会生成动态链接库libcaffe.so,其本身并不能独立运行。如果需要运行Caffe,则需要写一个main()函数,调用Caffe的API,编译时包含相应的头文件,链接时加入libcaffe.so,这样才能构成一个完整的Caffe应用程序。在tools/目录下的就是一些调用libcaffe.so的实用工具源码。

Caffe常用作图像特征提取器,其提供的实用工具build/tools/extract_features.bin实现了特征提取功能,该程序需要一个训练好的网络和一个数据输入层,通过某个中间层产生的特征图可得到相应特征并将其保存到磁盘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Caffe