获取一个错误“ValueError:检查目标时出错:预期密集的\u 4具有形状(3,),但获取的数组具有形状(2,)”

2024-04-19 15:03:00 发布

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

我正在用CNN做文本分类(遵循kim-yoon的方法) 但我犯了个错误我搞不懂

我看了有类似问题的帖子的ret,但没法理解

inputs = Input(shape=(sequence_length,))

embedding = embedding_layer(inputs)

reshape = Reshape((sequence_length,embedding_dim,1))(embedding)

conv_0 = Conv2D(num_filters, (filter_sizes[0], 
embedding_dim),activation='relu',kernel_regularizer=regularizers.l2(0.01)) 
(reshape)

conv_1 = 
 Conv2D(num_filters,filter_sizes[1],embedding_dim),activation='relu',
 kernel_regularizer=regulari zers.l2(0.01))(reshape)

conv_2 = Conv2D(num_filters, 
(filter_sizes[2],embedding_dim),activation='relu',kernel_regularizer=
 regularizers.l2(0.01))(reshape)

 maxpool_0 = MaxPooling2D((sequence_length - filter_sizes[0] + 1, 1), 
 strides=(1,1))(conv_0)

 flat_0 = Flatten()(maxpool_0)

 maxpool_1 = MaxPooling2D((sequence_length - filter_sizes[1] + 1, 1), 
 strides=(1,1))(conv_1)

 flat_1 = Flatten()(maxpool_1)

 maxpool_2 = MaxPooling2D((sequence_length - filter_sizes[2] + 1, 1), 
 strides=(1,1))(conv_2)

 flat_2 = Flatten()(maxpool_2)
 merged_tensor = concatenate([flat_0,flat_1, flat_2])
 output = Dense(units=3, 
 activation='softmax',kernel_regularizer=regularizers.l2(0.01(merged_tensor)

ValueError回溯(最近一次调用) 在里面 1 ---->;2个型号.fit(x\u列,y\u列,批量大小,epochs=100,verbose=1,callbacks=callback) 3#开始培训

ValueError:检查目标时出错:预期密集的\u 4具有形状(3,),但得到的数组具有形状(2,)

当然,消息中有更多的数据,如果需要的话我会把它放上去

4是最终输出


Tags: embeddingfilteractivationkernellengthsequencesizesdim