【问题标题】:Spatial separable convolution空间可分离卷积
【发布时间】:2016-09-21 20:22:01
【问题描述】:

如何有效地实现 1x1 卷积,它在 Tensorflow 中沿空间维度具有单独的过滤器?有一个 tf.nn.depthwise_conv2d 与我的问题类似,但它在 depth(即第 3 维)上有单独的过滤器。

在最简单的情况下 out_channels = 1 这个卷积可以写成:

def spatial_conv(input, filter):
  return tf.reduce_sum(tf.mul(input, filter), [3], keep_dims=True)

input.dim=[batch_size, input_width, input_height, channels]filter.dim=[input_width, input_height, channels]。我想通过连接来自相同输入和不同(但形状相同)过滤器的输出来概括这种卷积。

【问题讨论】:

    标签: tensorflow


    【解决方案1】:

    我猜你正在 Torch 中寻找类似 @​​987654321@ 的东西。不过,请注意,目前 CUDA(cunn 模块)实现存在一些可怕的错误,这使得 CUDA 性能甚至比 CPU 还要差。

    【讨论】: