ValueError:检查目标时出错:上采样1 d_1应为3维,但得到的数组形状为(1108,29430)

2024-04-19 16:20:22 发布

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

我试图在Keras(Tensorflow后端)中制作一个卷积式自动编码器,但最后一层的尺寸有问题:

m.add(Embedding(features, embedding_dims, input_length=maxlen, input_shape=(features, ) ))
m.add(Dropout(0.2))

m.add(Conv1D(filters, kernel_size, padding='valid', activation='relu', strides=1, input_shape=(features, ) ))
m.add(MaxPooling1D())

m.add(Conv1D(filters, kernel_size, padding='valid', activation='relu', strides=1, input_shape=(features, ) ))
m.add(UpSampling1D(input_shape=(m.layers[-1].output_shape) ))

模型总结如下:

^{pr2}$

错误消息表示需要三个维度: ValueError: Error when checking target: expected up_sampling1d_1 to have 3 dimensions, but got array with shape (1108, 29430)。但是,最后一层的输出是(None,5947,70),这是三维的。(110829430)是原始数据的维度(1108个样本具有29430个特征)。在


Tags: addinputsizetensorflowactivationkernelfilterskeras