caffe 源码阅读与运行流程
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
- mnist:手写字符识别
- 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 源码阅读与运行流程相关推荐
- zookeeper -- Mac 上 Intellij IDEA 配置 zookeeper(3.5.8) 源码阅读、运行、调试环境
近期需要整理MIT6.824 中 分布式系统协调服务 zookeeper 的一些知识,想要在Mac 本地搭建一个可以方便运行调试的zookeeper环境,这玩意竟然耗费了一上午的时间,实在是不可忍:当 ...
- Spark源码阅读04-Spark运行架构之Standalone运行模式
Standalone运行模式 基本介绍 运行流程图 运行流程介绍 实现原理 环境搭建及案例 基本介绍 Standalone运行模式又称独立运行模式,它是是Spark自身实现的资源调度框架,可以单独部署 ...
- Spark源码阅读04-Spark运行架构之Local运行模式
Local运行模式 基本介绍 运行流程图 运行流程详细介绍 实现原理 环境搭建及案例 基本介绍 Spark的Local运行模式又叫本地运行模式.伪分布式模式.之所以这叫本地模式是因为在该模式的Spar ...
- ThinkPHP源码阅读1-------访问流程
ThinkPHP访问流程在手册1.11系统流程里就有介绍,我阅读的ThinkPHP的版本是3.1.3,大家可以看下手册,基本的流程也有,现在就是详细去介绍一下ThinkPHP的访问流程.(调试模式下的 ...
- caffe源码阅读(1)_整体框架和简介(摘录)
原文链接:https://www.zhihu.com/question/27982282 1.Caffe代码层次. 回答里面有人说熟悉Blob,Layer,Net,Solver这样的几大类,我比较赞同 ...
- 如何有效阅读caffe源码
Caffee是用C++编写的深度学习框架,大量使用类的封装,继承,多态,所以也可以用来学习C++语言特性.Caffe类数目众多,但通过面向对象编程(OOP)方式组织得很好,所以要遵循类继承规则顺藤摸 ...
- redis源码阅读-持久化之aof与aof重写详解
aof相关配置 aof-rewrite-incremental-fsync yes # aof 开关,默认是关闭的,改为yes表示开启 appendonly no # aof的文件名,默认 appen ...
- 零基础学caffe源码 ReLU激活函数
零基础学caffe源码 ReLU激活函数 原创 2016年08月03日 17:30:19 1.如何有效阅读caffe源码 1.caffe源码阅读路线最好是从src/cafffe/proto/caffe ...
- redis源码阅读-持久化之RDB
持久化介绍: redis的持久化有两种方式: rdb :可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot) aof : 记录redis执行的所有写操作命令 根 ...
最新文章
- ios .framework动态库重签名
- php九宫格代码,用php数字九宫格.
- Android ping命令 -- Runtime
- VS2010 C++下编译调试MongoDB源码 r2.2.2
- python编程(fabric部署)
- 【转载】Kali-linux安装之后的简单设置
- 4.28考试总结(下午)
- 1200兆路由器网速_水星MAC1200R千兆版评测/无线性能测试-路由器交流
- 华为android强刷系统下载地址,华为Y511官方rom固件刷机包下载_Y511原版系统强刷升级包...
- 天涯红旗linux,红旗linux安装中的几点技巧(转载)
- 盘点那些年用过的机械键盘,为什么我最爱Keychron键盘呢
- 集合差集操作:a - b 的含义为在集合a中,但不在b中的元素集合。
- H5标签input标签上传文件(图片)
- 厦门大学计算机科学非全,厦门大学:2017年非全日制硕士招生全部为专业学位...
- html缩放动画效果,CSS3鼠标hover背景图片缩放动画效果
- 男生拍照姿势大全,这样拍才帅
- 全双工和半双工的区别?
- 极大似然估计——简述
- ec20 模块移植 linux,移遠EC20 4G模塊Linux驅動移植和測試
- 讲台英语怎么读计算机,一种计算机教学讲台的制作方法
热门文章
- DXUT框架剖析(11)
- androidstudio打包apk 文件_Android 缩小apk体积过程记录
- 【java学习之路】(java SE篇)014.Stream API
- 计算机日常英语,计算机英语的常用句子
- 五、Mysql中JSON类型
- Spring boot web开发实战
- MyBatis-Plus通过注解的方式绑定一对多查询
- java的继承啥考点,java中到底什么是继承?
- C++模板(关键字template,typename)介绍
- C++ 智能指针后面 . 与 -> 运算符的一点体会