用于keras中文本的Conv1D卷积自动编码器
我如何解决这个问题 ValueError:检查目标时出错:预期conv-DECOD3具有形状(无,14300),但获得具有形状(6559,16300)的数组用于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
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