Tensorflow Row Wise 1D Convolution

时间:2017-02-20 12:20:16

标签: tensorflow convolution

我正在阅读这篇论文:CNN for Sentence Modelling

该论文似乎描述了一个卷积如下:

矩阵输入 I 大小[d,m]和权重矩阵 W 大小[d,s]

进行卷积就像每行输入矩阵与权重矩阵的每一行一样进行卷积(基本上是行1D卷积)。 输出的大小为[d,m],适当的填充或[d,m-s + 1]没有填充。

我的理解是,这与单纯进行一维卷积的唯一区别在于输入矩阵的每一行都有自己的权重集来进行卷积。

是否有可能在Tensorflow中实现这样的卷积层?

1 个答案:

答案 0 :(得分:1)

你可以这样做。

I = tf.reshape(I, [1,d,1,m])
W = tf.reshape(W, [1,d,s,1)
strides = [1,stride,1,1]
output = tf.nn.depthwise_conv2d(I, W, strides, padding='SAME')

我认为这就是你要找的东西。它将在输入中逐行应用每个过滤器,并返回卷积结果。