在同一个模型中,有两个相同batch_size但不同的输入,分别进入不同的层,为什么经过多头注意力层的输出batch_size会是其输入的batch_size,而不是根据模型设置的batch_size呢?(注意力层的batch_size=None,也没有显式设置过,就算设置为固定值,其输出还是整个输入的batch_size)
我想要让经过这一层输出的batch_size和整个模型的保持一致,应该怎么办呢,求各位指点指点哇。
train_x_att_input = Input(shape=(train_x_att.shape[1], train_x_att.shape[2]))
multi_head_attition_layer = tf.keras.layers.MultiHeadAttention(num_heads=num_heads, key_dim=key_dim,
output_shape=num_heads * key_dim, batch_size=None)
concat_att = multi_head_attition_layer(train_x_att, train_x_att) # train_x_att.shape=(177,14,15)
print(concat_att.shape) # 输出(177,14,14) 为什么不是(None,14,14)