caffe代码学习--Blob

原创 2017年07月15日 17:45:55

在caffe/src/caffe/中的blob.cpp文件和在caffe/include/caffe/中的blob.hpp文件分别对应于blob的实现文件及其头文件

data_:表示网络各层的输入和输出;diff_:表示代价函数相对于各层参数的梯度;shape_中主要存储4个变量:num表示数量;channels表示对应层的通道;height和width就表示单个数据的尺寸;count_:表示这个Blob里已经存储的元素的个数;capacity_:表示这个Blob的容量。


一、定义三个Reshape函数,分别对应的作用是(1)读取blob的num,channels,width,height;(2)计算blob的count,即为num*channels*width*height,如果count大于blob本身的容量(capacity),进行reset处理;(3)定义一个与shape有相同维度的向量,并把shape的对应维度赋值给新的向量

二、是ReshapeLike函数,定义一个新的blob,与原来的一样,命名为othera

三、对blob的简单初始化操作

四、blob结构体中的data和diff的数据指针操作,有cpu和gpu两种,同时还有限制不能对返回的指针指向内容进行修改和可以对返回的指针指向内容进行修改两种类型,即是const和mutable这两种情况

五、sharedata和sharediff表示可以让其他blob的data和diff和当前的Blob进行共享

六、blob的更新,主要有三种情况,HEAD_AT_CPU;HEAD_AT_GPU;SYNCED,并对每种情况单独解释说明,最终的目的都是减去diff的值,计算公式为data=-1 * diff + data

七、CopyFrom表示从source文件中拷贝数据,copy_diff表示的从data还是diff中拷贝,是一个bool型的变量

八、FromProto表示的是从proto中将文件数据读取进来

九、ToProto表示将文件数据保存到proto中

而blob中的SyncedMemory主要就是在gpu或者cpu上分配数据内存

其中blob中的主要函数为如下图所示:


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiongly123/article/details/75174776

深度学习Caffe框架入门视频课程

-
  • 1970年01月01日 08:00

Caffe源码(二):blob 分析

目录目录 简单介绍 源代码分析 Reshape 函数 Blob 构造函数 data_数据操作函数 反向传播导数diff_ 操作函数 ShareData 函数 Updata 函数 asum_data 函...
  • seven_first
  • seven_first
  • 2015-08-10 14:53:37
  • 13134

Caffe框架的理解(一):从blob到layer到net

本文转载自caffe学习心得(一)Blobs,Layers,Nets: caffe模型解剖 ——beyond. Caffe用自己的建模方法将网络一层一层定义出来。网络由输入数据到损失层把整个模型自底向...
  • u013832707
  • u013832707
  • 2017-02-21 19:45:04
  • 1323

(Caffe)基本类Blob,Layer,Net(一)

本文地址:http://blog.csdn.net/mounty_fsc/article/details/51037006 Caffe中,Blob,Layer,Net,Solver是最为核心的类,以下...
  • mounty_fsc
  • mounty_fsc
  • 2016-04-07 14:26:33
  • 11565

Caffe源码中blob文件分析

Caffe源码中blob文件分析
  • fengbingchun
  • fengbingchun
  • 2017-03-01 14:42:47
  • 3867

caffe源码解析 — blob.cpp

caffe--blob
  • qq_16055159
  • qq_16055159
  • 2015-04-17 17:17:58
  • 4656

caffe源码简单解析——Blob(1)

使用caffe也有一段时间了,但更多是使用Python的接口,使用现有的ImageNet训练好的模型进行图片分类。为了更好的了解caffe这个框架,也为了提高自己的水平,在对卷积神经网络有了一些研究之...
  • baobei0112
  • baobei0112
  • 2015-07-23 14:12:32
  • 703

caffe源码解析之blob.hpp或blob.cpp

作者:wjmishuai 出处:http://blog.csdn.net/wjmishuai/article/details/50955347 声明:版权所有,转载请注明出处 caffe可以分...
  • wjmishuai
  • wjmishuai
  • 2016-03-23 11:17:00
  • 2372

Caffe源码解析1:Blob

转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 首先看到的是Blob这个类,Blob是作为Caffe中数据...
  • wei1033701020
  • wei1033701020
  • 2016-12-22 16:20:28
  • 195

caffe源码分析:blob.hpp分析

文件路径:caffe-master_github/include/caffe/ 如果想对blob有详细了解,参考Caffe官网教程:http://caffe.berkeleyvision.org/t...
  • Cheese_pop
  • Cheese_pop
  • 2016-03-28 09:16:02
  • 866
收藏助手
不良信息举报
您举报文章:caffe代码学习--Blob
举报原因:
原因补充:

(最多只允许输入30个字)