【发布时间】:2021-02-15 02:24:23
【问题描述】:
我开发了一个具有 1 个 LSTM 层和 3 个密集层的 LSTM 模型,如下所示
model = Sequential()
model.add(LSTM(units = 120, activation ='relu', return_sequences = False,input_shape
(train_in.shape[1],5)))
model.add(Dense(100,activation='relu'))
model.add(Dense(50,activation='relu'))
model.add(Dense(1))
我已经训练了模型并获得了模型的训练权重和偏差。详情如下所示。
w = model.get_weights()
w[0].shape, w[1].shape,w[2].shape,w[3].shape,w[4].shape,w[5].shape,w[6].shape,w[7].shape,w[8].shape
我得到的输出是,
((5, 480),(120, 480),(480,),(120, 100),(100,),(100, 50),(50,),(50, 1),(1,))
它给出了 2 个维度为 (5,480)&(120,480) 的权重矩阵和一个对应于 LSTM 层的 dim (480,) 的偏置矩阵。其他的与密集层有关。
我想知道的是,LSTM 有 4 层。那么如何分别获得这 4 层的权重和偏差呢?我可以将总权重(5,480)分成4等份,并认为第一个120对应于LSTM的第1层,第2个120属于LSTM的第2层等等??
请分享您对此的宝贵意见。也请任何好的参考
【问题讨论】:
标签: python lstm hyperparameters