应用 MAX 池化时,Caffe 和 Keras 之间的区别

4
我正在开发一个项目,将Keras JSON模型转换为Caffe prototxt。 caffe支持任意填充值, keras(基于Tensorflow)支持“same”和“valid”值。
对于Caffe中的任何填充值,我们可以在Keras中手动添加ZeroPadding层,然后应用“valid”方案以获得相同的输出维度。
参考链接: https://github.com/MarcBS/keras/blob/master/keras/caffe/README.md 由于在应用MAX pooling操作时Caffe和Keras之间存在差异,因此在某些情况下,即使原始.prototxt没有包含它们,MAX pooling层也必须包括pad:1值。
这两个框架之间的MAX pooling实现有什么不同?
1个回答

1
池化实现的差异 - 在Keras中,半窗口被丢弃。Caffe会为半窗口提供额外的输出。
填充方案的差异 - Keras中的“same”填充有时会导致上下(或左右)的填充值不同。Caffe总是均匀地填充两侧,因此上下(或左右)的填充值始终相等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接