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运行错误 target_blobs.blobs_size()与 source_layer.blobs_size() 不一致