我正在训练一个基于字符级别的文本卷积神经网络,并且想进行最大池化操作。tf.nn.max_pool函数需要一个四维张量,但TensorFlow中的一维卷积网络是三维的([batch, width, depth]),因此当我将conv1d的输出传递给最大池化函数时,出现了以下错误:
ValueError: Shape (1, 144, 512) must have rank 4
我是TensorFlow和深度学习框架的新手,想在这里寻求最佳实践的建议,因为我能想象到有多种解决方法。如何在一维情况下进行最大池化操作呢?
谢谢。
回答:
一种快速的方法是添加一个额外的单一维度,即将形状变为(1, 1, 144, 512),然后你可以使用tf.squeeze将其还原回来。
不过,我对其他方法也很好奇。