如何在双向LSTM Tensorflow中解释权重?

时间:2020-09-03 23:47:22

标签: python tensorflow

vocab_size = 5000 embedding_dim = 64

model = tf.keras.Sequential([
    tf.keras.layers.Embedding(vocab_size, embedding_dim),
    tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(embedding_dim)),
    tf.keras.layers.Dense(embedding_dim, activation='relu'),
    tf.keras.layers.Dense(6, activation='softmax')
])
model.summary()


for i in range(0,len(model.get_weights())):
    print (i,model.get_weights()[i].shape)


打印上面代码的权重之后,我得到了下面的输出

0 (5000, 64)
1 (64, 256)
2 (64, 256)
3 (256,)
4 (64, 256)
5 (64, 256)
6 (256,)
7 (128, 64)
8 (64,)
9 (64, 6)
10 (6,)

我知道,每个LSTM层(双向)都具有3个权重:内核,递归内核和偏差(权重1,2,3和4,5,6)。那么7和8的重量实际上是什么意思呢?我是LSTM的新手,我对LSTM中的这些权重感到困惑。

0 个答案:

没有答案