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中的这些权重感到困惑。