我正在做一个需要反卷积的项目。我读到gen_nn_ops.max_pool_grad_v2()
可以做到。我从tensorflow.python.ops
加载了函数。
据我所知,该函数采用输入和输出张量,其中输入是最大池化之前的卷积层,而输出则是最大池化操作的结果。但是grad
是什么?函数的输出究竟代表什么?
ksize = [1,2,2,1]
strides = [1,2,2,1]
padding = 'SAME'
u = gen_nn_ops.max_pool_grad_v2(input, output, grad, ksize, strides, padding)
不幸的是,我在互联网上找不到任何有用的东西。
答案 0 :(得分:0)
关于反卷积,max_pool_grad_v2
可能不是您想要的操作。对于反卷积,您可能想使用keras层Conv2DTranspose。
max_pool_grad_v2
是用于计算maxpooling函数的梯度的梯度函数(您将看到它用于此目的internally within tensorflow)。给定相对于ops输出的梯度,诸如_MaxPoolGradGrad
之类的梯度函数计算相对于ops输入的梯度。除非您想实现自己的一些实现,否则您真的不需要了解如何在张量流中实现 梯度即可使用张量流,但是如果您要实现自己的一些实现,则可以使用guide on the main tensorflow site。