bvlc:Berkeley Vision and Learning Center.

  • pb:protobuf 的简写;

0. 运行流程

  • .prototxt ⇒ ImageDataParameter ⇒ ImageDataLayer

    • 本地的 .prototxt 会被 caffe 框架读写转化为 ImageDataParameter 类,ImageDataParameter 类是 ImageDataLayer 构造函数的第一个参数;

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

caffe 源码阅读与运行流程相关推荐

  1. zookeeper -- Mac 上 Intellij IDEA 配置 zookeeper(3.5.8) 源码阅读、运行、调试环境

    近期需要整理MIT6.824 中 分布式系统协调服务 zookeeper 的一些知识,想要在Mac 本地搭建一个可以方便运行调试的zookeeper环境,这玩意竟然耗费了一上午的时间,实在是不可忍:当 ...

  2. Spark源码阅读04-Spark运行架构之Standalone运行模式

    Standalone运行模式 基本介绍 运行流程图 运行流程介绍 实现原理 环境搭建及案例 基本介绍 Standalone运行模式又称独立运行模式,它是是Spark自身实现的资源调度框架,可以单独部署 ...

  3. Spark源码阅读04-Spark运行架构之Local运行模式

    Local运行模式 基本介绍 运行流程图 运行流程详细介绍 实现原理 环境搭建及案例 基本介绍 Spark的Local运行模式又叫本地运行模式.伪分布式模式.之所以这叫本地模式是因为在该模式的Spar ...

  4. ThinkPHP源码阅读1-------访问流程

    ThinkPHP访问流程在手册1.11系统流程里就有介绍,我阅读的ThinkPHP的版本是3.1.3,大家可以看下手册,基本的流程也有,现在就是详细去介绍一下ThinkPHP的访问流程.(调试模式下的 ...

  5. caffe源码阅读(1)_整体框架和简介(摘录)

    原文链接:https://www.zhihu.com/question/27982282 1.Caffe代码层次. 回答里面有人说熟悉Blob,Layer,Net,Solver这样的几大类,我比较赞同 ...

  6. 如何有效阅读caffe源码

     Caffee是用C++编写的深度学习框架,大量使用类的封装,继承,多态,所以也可以用来学习C++语言特性.Caffe类数目众多,但通过面向对象编程(OOP)方式组织得很好,所以要遵循类继承规则顺藤摸 ...

  7. redis源码阅读-持久化之aof与aof重写详解

    aof相关配置 aof-rewrite-incremental-fsync yes # aof 开关,默认是关闭的,改为yes表示开启 appendonly no # aof的文件名,默认 appen ...

  8. 零基础学caffe源码 ReLU激活函数

    零基础学caffe源码 ReLU激活函数 原创 2016年08月03日 17:30:19 1.如何有效阅读caffe源码 1.caffe源码阅读路线最好是从src/cafffe/proto/caffe ...

  9. redis源码阅读-持久化之RDB

    持久化介绍: redis的持久化有两种方式: rdb :可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot) aof : 记录redis执行的所有写操作命令 根 ...

最新文章

  1. ios .framework动态库重签名
  2. php九宫格代码,用php数字九宫格.
  3. Android ping命令 -- Runtime
  4. VS2010 C++下编译调试MongoDB源码 r2.2.2
  5. python编程(fabric部署)
  6. 【转载】Kali-linux安装之后的简单设置
  7. 4.28考试总结(下午)
  8. 1200兆路由器网速_水星MAC1200R千兆版评测/无线性能测试-路由器交流
  9. 华为android强刷系统下载地址,华为Y511官方rom固件刷机包下载_Y511原版系统强刷升级包...
  10. 天涯红旗linux,红旗linux安装中的几点技巧(转载)
  11. 盘点那些年用过的机械键盘,为什么我最爱Keychron键盘呢
  12. 集合差集操作:a - b 的含义为在集合a中,但不在b中的元素集合。
  13. H5标签input标签上传文件(图片)
  14. 厦门大学计算机科学非全,厦门大学:2017年非全日制硕士招生全部为专业学位...
  15. html缩放动画效果,CSS3鼠标hover背景图片缩放动画效果
  16. 男生拍照姿势大全,这样拍才帅
  17. 全双工和半双工的区别?
  18. 极大似然估计——简述
  19. ec20 模块移植 linux,移遠EC20 4G模塊Linux驅動移植和測試
  20. 讲台英语怎么读计算机,一种计算机教学讲台的制作方法

热门文章

  1. DXUT框架剖析(11)
  2. androidstudio打包apk 文件_Android 缩小apk体积过程记录
  3. 【java学习之路】(java SE篇)014.Stream API
  4. 计算机日常英语,计算机英语的常用句子
  5. 五、Mysql中JSON类型
  6. Spring boot web开发实战
  7. MyBatis-Plus通过注解的方式绑定一对多查询
  8. java的继承啥考点,java中到底什么是继承?
  9. C++模板(关键字template,typename)介绍
  10. C++ 智能指针后面 . 与 -> 运算符的一点体会