何时在Caffe中使用就地图层?
caffe
deep-learning
machine-learning
neural-network
6
0

通过将底部和顶部Blob设置为相同,我们可以告诉Caffe执行“就地”计算以节省内存消耗。

目前,我知道我可以安全地使用"BatchNorm""Scale""ReLU"图层(如果我输入错了,请告诉我)。虽然其他层似乎有一些问题( 此问题似乎是一个例子)。

何时在Caffe中使用就地图层?
反向传播如何工作?

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

如您所知,就地图层通常不“开箱即用”地工作。
对于某些层,这是非常琐碎的( "ReLU"和其他神经元激活层)。
但是,对于其他人,则需要对代码进行特殊处理。例如, "PReLU"层的实现具有特定的缓存bottom_memory_成员变量,该变量存储反向传播所需的信息。
您可以看到其他层的类似代码,这些层专门测试if (top[0] == bottom[0])以查看该层是否在“就地”情况下使用。

此外,就地层具有输入和输出具有不同形状的意义不大,因此诸如"Convolution""InnerProduct""Pool"层不被视为“就地”的候选对象层。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号