C-contiguous时尚在caffe blob存储中意味着什么?

时间:2016-06-02 16:53:46

标签: python c++ neural-network deep-learning caffe

在caffe文档中:http://caffe.berkeleyvision.org/tutorial/net_layer_blob.html

  

Blob存储和通信#   Blob是Caffe处理和传递的实际数据的包装器,并且还提供CPU和GPU之间的同步功能。数学上,blob是以C连续方式存储的N维数组。

它说blob以 C-contiguous方式存储 C-contiguous fashion 是什么意思?

1 个答案:

答案 0 :(得分:14)

C连续时尚,与Fortran时尚相反(也被Matlab使用)。这意味着n-dim数据作为长且连续的数组存储在内存中。内存中元素的顺序根据C方式:首先存储尾随尺寸。也就是说,如果你有一个w乘以3d blob,那么在内存行中将一个接一个地保存,并且在完成第一个通道的所有行之后,只写入下一个通道的行。

另一种看待它的方法是i,j,k元素存储在

  blob[i*w*h + j*w + k]

有关详细信息,请参阅this wiki page