FFT对变量的梯度失败

时间:2016-07-08 21:00:31

标签: python neural-network tensorflow conv-neural-network

在Tensorflow中,以下代码失败,错误为FROM docker RUN addgroup docker && \ adduser -DH demo && \ addgroup demo docker CMD /bin/sh

ValueError: Shapes (3, 32, 28, 28) and () are not compatible

虽然这是一个简化的例子来说明错误,但我在变量上使用iffts来参数化频域中的卷积滤波器,如Spectral Representations for Convolutional Neural Networks

中所述。

1 个答案:

答案 0 :(得分:0)

在您的代码中,w_ifft_transpose的形状为[height, width, channels, filters],然后使用tf.nn.conv2d,它在我的PC上是正确的。 [python 3.5.5 tensorflow版本1.1.0,cuda 8.0,cudnn 6.0]

实际上,您的w的参数编号远比传统的3 * 3卷积大,并且您使用ifft2d的参数编号是没有意义的,因为它不存在复数