首先,我们来看下caffe的根目录:
第一步安装tree:sudo apt-get install tree
第二步:直接输入tree -d
.
├── build -> .build_release //编译结果存放处,子目录结构与主目录类似
├── cmake //使用CMake编译时会用到,不关注
│ ├── External
│ ├── Modules
│ └── Templates
├── data //用于存放原始数据及数据获取脚本
│ ├── cifar10 //存放CIFAR10小图片原始数据
│ ├── ilsvrc12 //存放ImageNet Meta数据,原始数据需要另外下载
│ └── mnist //存放MNIST手写数字图像数据
├── distribute //编译后生成发布包的位置,用于迁移
│ ├── bin
│ └── lib
├── docker //同样是为了便于迁移,使用了Docker工具
│ ├── cpu
│ └── gpu
├── docs //doxygen工程文件放在这里,可生成caffe ref_man.pdf
│ ├── images
│ ├── _layouts
│ ├── stylesheets
│ └── tutorial
│ ├── fig
│ └── layers
├── examples //存放caffe简单例子
│ ├── cifar10
│ ├── cpp_classification //图像分类例程
│ ├── feature_extraction //特征提取例程
│ ├── finetune_flickr_style //finetune例程
│ ├── finetune_pascal_detection //finetune例程
│ ├── hdf5_classification //使用HDF5数据源的分类例程
│ ├── imagenet //ImageNet //例程,使用bvlc_reference_caffenet模型
│ ├── images
│ ├── mnist //MNIST手写体数字识别例程
│ ├── net_surgery
│ ├── pycaffe
│ │ └── layers
│ ├── siamese //一个web server + 分类例程
│ └── web_demo
│ └── templates
├── include
│ └── caffe //caffe头文件集中存在于这个目录
│ ├── layers
│ ├── test
│ └── util
├── lesson1
├── lesson2
│ └── lesson2-1
├── lesson3
│ ├── armadillo-7.500.2
│ │ ├── cmake_aux
│ │ │ ├── InstallFiles
│ │ │ └── Modules
│ │ ├── CMakeFiles
│ │ │ ├── 2.8.12.2
│ │ │ │ └── CompilerIdCXX
│ │ │ ├── armadillo.dir
│ │ │ │ └── src
│ │ │ ├── CMakeTmp
│ │ │ └── Export
│ │ │ └── _usr
│ │ │ └── share
│ │ │ └── Armadillo
│ │ │ └── CMake
│ │ ├── examples
│ │ │ └── lib_win64
│ │ ├── include
│ │ │ └── armadillo_bits
│ │ ├── InstallFiles
│ │ ├── mex_interface
│ │ ├── misc
│ │ ├── src
│ │ ├── tests
│ │ └── tmp
│ │ └── include
│ │ └── armadillo_bits
│ └── MiniNet
│ └── cpp
│ ├── build
│ ├── example
│ ├── include
│ └── src
├── lesson4
│ └── cars_input
│ └── cars_input
├── matlab //适用于Matlab做Wrapper,具体可以参考RCNN源码
│ ├── +caffe
│ │ ├── imagenet
│ │ ├── private
│ │ └── +test
│ ├── demo
│ └── hdf5creation
├── models //存放示例模型
│ ├── bvlc_alexnet //经典的AlexNet模型
│ ├── bvlc_googlenet //GooleNet
│ ├── 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 //proto描述文件,学习数据结构从这里开始
│ │ ├── solvers
│ │ ├── test
│ │ │ └── test_data
│ │ └── util
│ └── gtest
├── test
└── tools //常用工具源码
└── extra
其实,我们需要关注三个子目录:include/,src/和tools/。