首页 > 解决方案 > Keras 对每个时间步应用不同的 Dense 层

问题描述

我有形状为的训练数据,(-1, 10)我想对每个时间步应用不同的密集层。目前,我试图通过重塑输入(-1, 20, 1)然后TimeDistributed(Dense(10))在顶部使用图层来实现这一点。但是,这似乎将相同的密集层应用于每个时间步,因此时间步共享权重。有什么办法吗?

标签: pythonkeras

解决方案


您可以应用通过复制输入 20 次创建的 200 宽向量的密集层,如下所示:

from tensorflow.python import keras
from keras.models import Sequential
from keras.layers import *

model = Sequential()
model.add(RepeatVector(20, input_shape=(10,)))
model.add(Reshape((200,)))
model.add(Dense(1))
model.compile('sgd', 'mse')
model.summary()

推荐阅读