caffe代码学习--Blob
2017-07-15 17:45
309 查看
在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中的主要函数为如下图所示:
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中的主要函数为如下图所示:
相关文章推荐
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- caffe代码学习--Blob
- CAFFE 学习-2:BLOB
- 深度学习caffe代码怎么读
- Caffe学习笔记1-安装以及代码结构
- caffe学习笔记-模型代码生成.prototxt文件
- 【深度学习】【Caffe源代码解读1】笔记19 Caffe的基本数据结构之Blob
- caffe学习笔记6:Blob,layer and net以及对应配置文件的编写
- Caffe-代码解析-Blob
- 【Caffe代码解析】Blob
- 深度学习caffe的代码怎么读?