caffe blob

Posted nkh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了caffe blob相关的知识,希望对你有一定的参考价值。

Blob,包括输入数据、输出数据、权值等;
Blob是Caffe中处理和传递实际数据的数据封装包,并且在CPU与GPU之间具有同步处理能力。从数学意义上说,blob是按C风格连续存储的N维数组。

caffe的blob是一个四维的数组,用于存储数据,就相当于一个特殊的tensor,存储内容:num: 图像数量 channel:通道数量 width:图像宽度 height:图像高度

比如caffe中一个batch的图片,就存储在一个blob中。当然,blob并不是专门给batch内的图片做存储用的。实际上,参数、梯度,也可以用blob存储的。只要是caffe的网络中传递的数据,都可以用blob存储。但是blob实际上也并不一定是4维的。它在实现上其实就是1维的指针,而我们作为用户感受到的“多个维度”是通过shape来操作的。

eg:      net.blobs(‘data‘).reshape([size(im_y) channel batch]); % reshape blob ‘data‘

Layer层则是神经网络中具体的各层结构,主要是计算的作用,它的输入和输出都是Blob数据。在根据配置文件初始化结构后,前向计算结果,反向更新参数。

以上是关于caffe blob的主要内容,如果未能解决你的问题,请参考以下文章

Caffe Blob测试

CAFFE源码解读1——Blob

caffe blob

caffe运行错误 target_blobs.blobs_size()与 source_layer.blobs_size() 不一致

caffe卷积层代码解析

caffe源码阅读