我有一个数据集,其中包含形状为(1,200,4)
的3D固定长度段,我想将其输入到具有完全连接层的Antoencoder中,类似于:
encoder
autoencoder.add(Dense(200, input_shape=(self.input_dim,), activation='relu'))
autoencoder.add(Dense(100, input_shape=(self.input_dim,), activation='relu'))
autoencoder.add(Dense(80, input_shape=(self.input_dim,), activation='linear'))
autoencoder.add(Dense(encoding_dim, input_shape=(self.input_dim,), activation='linear'))
#decoder
autoencoder.add(Dense(80, activation='linear'))
autoencoder.add(Dense(100, activation='relu'))
autoencoder.add(Dense(200, activation='relu'))
autoencoder.add(Dense(self.input_dim, activation='linear'))
我知道这个输入在输入这个网络之前需要平坦化,我希望在编码器的第一个Dense()
之前添加一个Flatten()
层
我不确定的是,有一种方法可以在解码器部分将输入重构回它自己的形状(1,200,4)
如果重要的话,输入由一个固定长度段的数组组成,这样:
print(train_x.shape)
(140508, 1, 200, 4)
例如,假设输入为:
X = np.random.randn(3400, 1, 200, 4)
X.shape
(3400, 1, 200, 4)
我如何在编码器处对该输入应用展平层,然后在解码器处为完全连接的自动编码器重建该层,类似于上面所述
有什么建议吗
这里有一个可能性。。。你只需要在最后注意尺寸,并进行适当的整形
相关问题 更多 >
编程相关推荐