Tensorflow Row Wise 1D 卷积
Tensorflow Row Wise 1D Convolution
我正在阅读这篇论文:CNN for Sentence Modelling
这篇论文似乎是按照以下几行来描述卷积的:
使用大小为 [d,m] 的矩阵输入 I 和大小为 [d,s] 的权重矩阵 W
卷积就像输入矩阵的每一行与权重矩阵的每一行进行卷积一样完成(基本上是逐行一维卷积)。
输出大小为 [d,m] 并带有适当的填充或 [d,m-s+1] 没有填充。
我的理解是,这与简单地进行一维卷积之间的唯一区别是输入矩阵的每一行都有自己的一组权重来进行卷积。
是否可以在Tensorflow中实现这样的卷积层?
你可以做到。
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')
我想这就是您要找的。它将在输入中逐行应用每个过滤器,并 return 返回卷积结果。
我正在阅读这篇论文:CNN for Sentence Modelling
这篇论文似乎是按照以下几行来描述卷积的:
使用大小为 [d,m] 的矩阵输入 I 和大小为 [d,s] 的权重矩阵 W
卷积就像输入矩阵的每一行与权重矩阵的每一行进行卷积一样完成(基本上是逐行一维卷积)。 输出大小为 [d,m] 并带有适当的填充或 [d,m-s+1] 没有填充。
我的理解是,这与简单地进行一维卷积之间的唯一区别是输入矩阵的每一行都有自己的一组权重来进行卷积。
是否可以在Tensorflow中实现这样的卷积层?
你可以做到。
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')
我想这就是您要找的。它将在输入中逐行应用每个过滤器,并 return 返回卷积结果。