InvalidArgumentError:计算的输出大小将为negati

2024-10-04 11:36:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个小的CNN二级文本分类。我可以用一个卷积层(成功地)创建和运行CNN,但是当我尝试添加第二个时,我得到了一个我无法解决的错误。错误出现在第二个变频器的输出上

NN编译并开始拟合,但随后失败并出现错误。在

我试着移除第一个conv和maxpool层,一切都成功了。在

如能提出建议,我们将不胜感激。在


kerCNN2 = keras.Sequential()
kerCNN2.add(keras.layers.Embedding(len(dictChck), 32))
kerCNN2.add(keras.layers.Conv1D(24,5,activation=tf.nn.relu))
kerCNN2.add(keras.layers.MaxPooling1D(5))
kerCNN2.add(keras.layers.Conv1D(16,5,activation=tf.nn.relu))
kerCNN2.add(keras.layers.GlobalAveragePooling1D())
kerCNN2.add(keras.layers.Dense(16, activation=tf.nn.relu))
kerCNN2.add(keras.layers.Dense(1, activation=tf.nn.sigmoid))
kerCNN2.summary()

kerCNN2.compile(optimizer="adam", loss="binary_crossentropy", metrics=["acc"])

trainHistCNN2 = kerCNN2.fit(encTrain, trainYPartial, epochs = 1, batch_size = 128, validation_data=(encTrainEval, trainYEval), verbose=1)

编制结果:

^{pr2}$

错误的(相关部分):

InvalidArgumentError (see above for traceback): computed output size would be negative
     [[Node: conv1d_33/convolution/Conv2D = Conv2D[T=DT_FLOAT, data_format="NHWC", padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/cpu:0"](conv1d_33/convolution/ExpandDims, conv1d_33/convolution/ExpandDims_1)]]

Tags: addsizelayerstf错误nnactivationcnn