Caffe学习之——caffe目录结构说明
文末有相关源码解析链接!!
下面两个图转自:http://yufeigan.github.io/
下载caffe后,caffe文件夹下的文件目录结构如下图:
这里,最重要的三个文件夹就是include, tools, src。在源码解读中会对里面的文件代码一一介绍,这里给出src文件的结构:
src中的每个.cpp文件对应include文件中的头文件。
在编译完成后,会生成build文件夹。这个文件的目标文件指向一个debug或者release文件夹。这里建议用debug编译,这样在调试代码时可以跟到caffe的内部。只要在Makefile.config中改一下就好。
我做的图如下:
blob类(blob.hpp和blob.cpp)源码解析:blob类源码解析
syncedmem类(syncedmem.hpp和syncedmem.cpp)源码解析:syncedmem类源码解析
在src/caffe/layers文件夹下存在如下函数——
Relu_layer.cpp 源码解析:Relu层源码解析
Dropout_layer.cpp源码解析:dropout层源码解析
Solver.cpp源码解析:solver源码解析
Conv_layer.cpp和Base_conv_layer.cpp源码解析:conv卷积层源码解析
Data_layer.cpp和Base_Data_layer.cpp源码解析:Data数据层源码解析
Pooling_layer.cpp和其hpp文件源码解析:Pooling池化层源码解析
其他:
caffe源码依赖的一些库解析:levelDB、LMDB、ProtoBuf、HDF、GFlags、GLog、CUDA、Blas、BOOST、
boost::thread、boost::mutex、boost::posix_time、boost::python、boost::split、boost::shared_ptr