用于keras中文本的Conv1D卷积自动编码器

用于keras中文本的Conv1D卷积自动编码器,keras,convolution,keras-layer,autoencoder,keras-2,Keras,Convolution,Keras Layer,Autoencoder,Keras 2,我如何解决这个问题 ValueError:检查目标时出错:预期conv-DECOD3具有形状(无,14300),但获得具有形状(6559,16300)的数组 NUM_WORDS=3 池大小=2 x=输入(shape=(16300),name=“输入”) h=x h=Conv1D(过滤器=300,内核大小=NUM\u字, activation=“relu”,padding='same',name='Conv1'(h) h=MaxPoolG1D(池大小=池大小,名称='Maxpool1')(h) h

我如何解决这个问题

ValueError:检查目标时出错:预期conv-DECOD3具有形状(无,14300),但获得具有形状(6559,16300)的数组

NUM_WORDS=3
池大小=2
x=输入(shape=(16300),name=“输入”)
h=x
h=Conv1D(过滤器=300,内核大小=NUM\u字,
activation=“relu”,padding='same',name='Conv1'(h)
h=MaxPoolG1D(池大小=池大小,名称='Maxpool1')(h)
h=Conv1D(过滤器=150,内核大小=NUM\u字,
activation=“relu”,padding='same',name='Conv2')(h)
h=MaxPoolG1D(池大小=池大小,name=“Maxpool2”)(h)
h=展平()(h)
h=稠密(10,name='embedding')(h)
y=h
y=密度(600,激活=“relu”)(y)
y=重塑((4150))(y)
y=Conv1D(过滤器=150,内核大小=NUM\u字,
activation=“relu”,padding='same',name='conv-decode1')(y)
y=UpSampling1D(size=pool_size,name='upsampling1')(y)
y=Conv1D(过滤器=300,内核大小=NUM\u字,
activation=“relu”,padding='same',name='conv-decode2')(y)
y=UpSampling1D(size=pool_size,name='upsampling2')(y)
返回模型(输入=x,输出=y,name='AE'),模型(输入=x,输出=h,name='encoder'))

您仍然有这个问题吗?您的1D AE不包含层的定义:conv-DECODE 3

我刚刚添加了编译并打印了模型-看起来很好-输入形状等于输出形状。 一月



图层(类型)输出形状参数# 输入(输入层)(无,16300)0


Conv1(Conv1D)(无,16300)270300



conv-decode2(Conv1D)(无,8300)135300


上采样2(上采样1D)(无,16300)0 总参数:621010

y = UpSampling1D(size=pool_size, name='upsampling2')(y)

autoencoderM = Model(x, y)
myLoss='mean_squared_error'
autoencoderM.compile(optimizer='adadelta', loss=myLoss)

autoencoderM.summary() # will print