让我们假设以下张量:
当
filter_size
为(3, 3)
,stride为(1, 1)
,padding为same
时,我对TensorFlow 2.8.0中卷积算子的理解如下(默认选项):
其中
g_{ij}
是输入张量的值,W_{mp}
是过滤器的值,\Psi
是偏差。根据我的理解,多通道 CNN 的卷积运算符的工作原理如下:
但是,我手工计算的卷积算子和TensorFlow(Keras)生成的中间层张量不一样,有时会出现小数点第一位或第二位。
会是什么原因?最初,我认为这可能是因为四舍五入,但是像 TensorFlow 这样的手动计算四舍五入并没有解决问题。如果您需要更多详细信息,请告诉我。