caffe 源码阅读

bvlc:Berkeley Vision and Learning Center.

1. 目录结构

  • models(四个文件夹均有四个文件构成,deploy.prototxt, readme.md, solver.prototxt, train_val.prototxt
    • bvlc_alexnet
    • bvlc_googlenet
    • bvlc_reference_caffenet
    • bvlc_reference_rcnn_ilsvrc13
    • finetune_flickr_style
  • data
    • cifar10
    • ilsvrc12
    • mnist
  • examples
    • mnist:手写字符识别
      • lenet_train_val.prototxt(网络结构配置):LeNet-5,train_lenet.sh(脚本)
      • mnist_train_lmdb ⇒ data.mdb, lock.mdb
      • mnist_test_lmdb ⇒ data.mdb, lock.mdb
  • build(构建),
    • tools:各种编译好的二进制文件(.bin)

2. 核心代码

  • include/caffe 下的目录结构(layers、util 有省略):

    ├── blob.hpp
    ├── caffe.hpp
    ├── common.hpp
    ├── data_transformer.hpp
    ├── filler.hpp
    ├── internal_thread.hpp
    ├── layer_factory.hpp
    ├── layer.hpp
    ├── layers
    │   ├── absval_layer.hpp
    │   ├── accuracy_layer.hpp
    │   ├── argmax_layer.hpp
    │   ├── tile_layer.hpp
    │   └── window_data_layer.hpp
    ├── net.hpp
    ├── parallel.hpp
    ├── sgd_solvers.hpp
    ├── solver_factory.hpp
    ├── solver.hpp
    ├── syncedmem.hpp
    ├── test
    │   ├── test_caffe_main.hpp
    │   └── test_gradient_check_util.hpp
    └── util
        ├── benchmark.hpp
        └── upgrade_proto.hpp
  • 激活函数 Layer:caffe 中所有与激活函数相关的 Layer 类声明都位于 include/caffe/neural_layers.hpp 中:

    • ReLULayer
    • SigmoidLayer
    • TanHLayer
原文地址:https://www.cnblogs.com/mtcnn/p/9422153.html