可变大小的卷积神经网络输入和固定输出

时间:2016-07-28 05:50:12

标签: tensorflow

我正在尝试创建一个CNN模型,该模型采用可变大小的输入(句子矩阵)并为后续完全连接的层(similar to this paper)生成固定大小的输出。

我正在尝试为最大池层实现动态内核大小,因此我需要在运行时输入的形状来实现此目的。

input = tf.placeholder(tf.float32)
# convolution layer here .... 

tf.nn.max_pool(convolution_output, ksize=[1, s, 1, 1],
                      strides=[1, 1, 1, 1], padding='VALID')
{/ 1}}中的{p> s应该从输入形状推断出来。

但是,我无法通过Tensorflow找到方法。

任何人都知道这样做的方法吗?

2 个答案:

答案 0 :(得分:4)

我知道这是一个旧线程,但对于正在寻找解决方案的人来说。它已在tensorflow 1.4.0

中实施

tf.nn.max_pool()现在将1d张量作为输入,而不是旧版本中的int列表。因此,您可以使用占位符作为ksize的参数。

答案 1 :(得分:2)

我没有找到在Tensorflow中执行此操作的方法,并且必须在theano中重新实现我的模型并使用其他解决方案:Dynamic KMax Pooling