Caffe 源碼閱讀(一) Blob.hpp
Blob 四維度(N K H W)
N : SGD 一次 mini-batch 個數
K : 如果是圖片表示圖片通道數 如果是中間結果 則理解爲 feature map 個數
H、W : 如果是圖片理解爲圖片的高度寬度 如果是feature map理解爲核的寬度及高度
重點包括 個部分:
1、數據成員
2、構造函數
3、Blob數據訪問方法
4、Blob數據持久化函數: Blob中存儲了網絡中間處理結果和網絡的參數,這些數據最終是要被存儲到磁盤或從磁盤讀入內存的,最後來看Blob的數據持久化函數是如何完成數據讀寫磁盤。 Caffe就是藉助Google Protocol Buffers這個數據序列化庫來完成的。
5、參數更新函數 Update方法: 它會被網絡中參數的Blob調用,完成梯度下降過程中的參數更新。
Caffe 源碼閱讀(一) Blob.hpp的更多相关文章
- Caffe 源碼閱讀(四) Layer.hpp Layer.cpp
1.Setup() Layer初始化参数 (1.完成层参数的读入.处理 2.设置底层顶层的shape,在前向传播前完成) InitMutex CheckBolbCounts: LayerSetup:d ...
- Caffe 源碼閱讀(二) SyncedMemory.hpp
1. to_cpu 數據由現存同步到內存 2. to_gpu 數據由內存同步到顯存 3. cpu_str_ 內存指針 4. gpu_str_ 顯存指針 5. size_ 數據大小 6. own_cpu ...
- Caffe 源碼閱讀(三) caffe.cpp
补:主要函数运行顺序: main>>GetBrewFunction>>train>>Solve 從main函數說起: 1.gflags庫中爲main函數設置usag ...
- Caffe 源碼閱讀(六) InternalThread
类InternalThread是一个虚类,是Caffe中的多线程接口,其本质是为封装了boost::thread 看源码可以得到以下结论: 1.每个派生类都需要实现一个InternalThreadEn ...
- Caffe 源碼閱讀(五) Solver.cpp
1.Solver类两个构造函数 Solver(const SolverParameter& param) Solver(const string& param_file) 初始化两个类 ...
- Caffe 源碼閱讀(六) data_layer.cpp
>>>>>>>>>>>>>>>>>>>>>>>>> ...
- caffe源码阅读(1)-数据流Blob
Blob是Caffe中层之间数据流通的单位,各个layer之间的数据通过Blob传递.在看Blob源码之前,先看一下CPU和GPU内存之间的数据同步类SyncedMemory:使用GPU运算时,数据要 ...
- Caffe源码解析1:Blob
转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 首先看到的是Blob这个类,Blob是作为Caffe中数据流通的 ...
- Caffe源码理解1:Blob存储结构与设计
博客:blog.shinelee.me | 博客园 | CSDN Blob作用 据Caffe官方描述: A Blob is a wrapper over the actual data being p ...
随机推荐
- 获取本地IP,并设置到IP控件
char szHostName[MAX_PATH + 1]; gethostname(szHostName, MAX_PATH); //得到计算机名 hostent *p = gethostbynam ...
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...
- JS中的各种类型转换规则(转)
JS中的类型转换非常恶心,大家都懂的,不过该学还是要学. 今天看犀牛书看到了转换规则,总结出来. X转字符串.数字.布尔值 X表示各种类型的值,直接上图: 值 转数字 转字符串 转布尔值 undefi ...
- 解决float浮动带来的父元素高度没有的问题---清除浮动
float的特性 : 1:使元素block块级化: 2:破坏性造成的紧密排列特性. 基于以上的特性,使得我们通常把浮动用来布局,带来的问题是,容易出问题,重用性不行,ie6-的版本下很多问题,因为它是 ...
- text属性
-------------------------------------------------------------------------------- 对p标签进行样式的设置 text-ju ...
- [maven] 使用Nexus创建maven私有仓库
1.为什么需要maven私有仓库? 从Maven中央仓库下载所需的jar包,需要外网的支持.如果公司不能上外网的话则不能从中央仓库下载所需jar包,公司网速慢的时候也会影响项目构建的速度.用户可以用n ...
- MVC4中的Display Mode简介
本文地址:http://www.cnblogs.com/egger/p/3400076.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑! 今天学习MVC4时,看到一个不错的特性"vie ...
- HTML“计算机输出”标签 <code><kbd><samp><tt><var><pre>
我们并不反对使用它们,但是如果您只是为了达到某种视觉效果而使用这些标签的话,我们建议您使用样式表,那么做会达到更加丰富的效果. <code> 标签-定义计算机代码文本. 定义和用法: &l ...
- java写hadoop全局排序
前言: 一直不会用java,都是streaming的方式用C或者python写mapper或者reducer的可执行程序.但是有些情况,如全排序等等用streaming的方式往往不好处理,于是乎用原生 ...
- Ubuntu下安装Java环境
1 Java 8 下载地址 http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs. ...