命令
cd caffe
tree -d
.
├── build -> .build_release
├── cmake
│ ├── External
│ ├── Modules
│ └── Templates
├── data //存放原始数据以及数据获取脚本(训练数据)
│ ├── cifar10
│ ├── ilsvrc12
│ ├── mnist
├── distribute //编译后生成发布包的位置,用于迁移
│ ├── bin
│ └── lib
├── docker //用于迁移的工具
│ │ ├── cpu
│ │ └── gpu
├── docs //帮助文档
│ ├── images
│ ├── _layouts
│ ├── stylesheets
│ └── tutorial
│ └── fig
└── layers
├── examples //一些代码的样例
│ ├── cifar10 //存放cifar10例程
│ ├── cpp_classification //图像分类例程
│ ├── feature_extraction //特征提取例程
│ ├── finetune_flickr_style //finetune例程
│ ├── finetune_pascal_detection //finetune例程
│ ├── hdf5_classification //使用HDF5的分类例程
│ ├── imagenet //Imagenet例程,使用bvlc_reference_caffenet
│ ├── images
│ ├── mnist //mnist手写字符识别例程
│ │ ├── mnist_test_lmdb
│ │ └── mnist_train_lmdb
│ ├── net_surgery
│ ├── pycaffe
│ │ └── layers
│ ├── siamese
│ └── web_demo //一个Web Server +分类例程
│ └── templates
├── **include** //Caffe头文件集中存放目录
│ └── caffe
│ ├── layers
│ ├── test
│ └── util
├── matlab //Matlab做Wrapper,具体参考RCNN源码
│ ├── +caffe
│ │ ├── imagenet
│ │ ├── private
│ │ └── +test
│ ├── demo
│ └── hdf5creation
├── models //存放示例模型,配置好的模型参数
│ ├── bvlc_alexnet //Alexnet模型
│ ├── bvlc_googlenet //GoogleNet
│ ├── bvlc_reference_caffenet //caffe模拟的Alexnet模型
│ ├── bvlc_reference_rcnn_ilsvrc13 //Rcnn模型
│ └── finetune_flickr_style
├── python //用于Python wrapper
│ └── caffe
│ ├── imagenet
│ ├── proto
│ └── test
├── scripts //一些文档和数据用到的脚本
│ └── travis
├── **src** //实现caffe源码
│ ├── caffe
│ │ ├── layers //各个层具体实现
│ │ ├── proto //即所谓的“Protobuf”,帮助caffe提速描述文集,学习数据结果先从这里开始
│ │ ├── solvers //优化方法类Solver
│ │ ├── test
│ │ │ └── test_data
│ │ └── util //数据转换时用的一些代码。caffe速度快,很大程度得益于内存设计上的优化(blob数据结构采用proto)
│ └── gtest
└── **tools** //常用学习源码,可以直接调用
└── extra
其中对src、include等重要文件夹进行详解
src/caffe/proto/caffe.proto:
定义了结构化数据,用于构建caffe网络
负责数据文件的存储和读取
向caffe增加新的层,相应caffe.proto文件调整