本文主要是介绍k-max pooling实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用theano实现k-max pooling,github上目前还没有找到theano的实现,自己就写了一个简单的,仿照的是keras issues里面的一个提交。由于theano在反向bp时能够自动处理array index的变化,因此本质上是很简单的。
def k_max_pooling2d(data, k):output = data[T.arange(data.shape[0]).dimshuffle(0, "x", "x", "x"),T.arange(data.shape[1]).dimshuffle("x", 0, "x", "x"),T.sort(T.argsort(data, axis=2)[:, :, -k:, :], axis=2),T.arange(data.shape[2]).dimshuffle("x", "x", "x", 0)]return output
这篇关于k-max pooling实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!