1D卷积层后的最大池化层

我是Tensorflow的新手。我试图在一个1D卷积层之后添加一个最大池化层:

import tensorflow as tfimport mathsess = tf.InteractiveSession()length=458# These will be inputs## Input pixels, image with one channel (gray)x = tf.placeholder("float", [None, length])# Note that -1 is for reshapingx_im = tf.reshape(x, [-1,length,1])## Known labels# None works during variable creation to be# unspecified sizey_ = tf.placeholder("float", [None,2])# Conv layer 1num_filters1 = 2winx1 = 3W1 = tf.Variable(tf.truncated_normal(    [winx1, 1 , num_filters1],    stddev=1./math.sqrt(winx1)))b1 = tf.Variable(tf.constant(0.1,                shape=[num_filters1]))#  convolution, pad with zeros on edgesxw = tf.nn.conv1d(x_im, W1,                  stride=5,                  padding='SAME')h1 = tf.nn.relu(xw + b1)#  Max pooling, no padding on edgesp1 = tf.nn.max_pool(h1, ksize=[1, 1, 2, 1],        strides=[1, 1, 1, 1], padding='VALID')

但是我遇到了错误,我不明白为什么会这样?


回答:

tf.nn.max_pool 用于2D池化,即它期望输入张量的秩为4(你的输入张量秩是3)。你应该扩展输入的维度,或者直接使用 tf.layers.max_pooling1d

p1 = tf.layers.max_pooling1d(h1, pool_size=2, strides=1, padding='VALID')

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注