请问caffe里data layer后面有个{layerName}_{topBlobName}_{0}_{split)的层是干嘛的?

今天在调试caffe的时候发现在我的data层后面跟了个layer_name为"data_img_0_split"的层,其中data为我data层的name, img是我data层输出的blob, 我在网络部署文件中并没有显示地声明这个层,而且我发现这个层的bottom就是我原本data层的top, 另外这个层有两个top, 一个bottom按照我网络部署的computational graph的方向流动, 另外一个的去向暂时不明.

说明一下,我的这个dataLayer只输出一个blob, 并不是跟一般的data层一样输出data和label两个blob.
已邀请:

孙琳钧

赞同来自: zeakey bonerkiller ryyen

当一个top blob被多个层当做bottom blob时,caffe会悄悄添加split层,将这个blob复制多份,复制时blob中的data属于浅拷贝,diff属于深拷贝,这么做的主要原因是多个层反传给该blob的梯度需要累加,具体内容可参考split层的源码

要回复问题请先登录注册