Default: "0.0" (no dropout).
  * **bias** -- If specified, adds bias to input / output
    projection layers. Default: "True".

  * **add_bias_kv** -- If specified, adds bias to the key and
    value sequences at dim=0. Default: "False".

  * **add_zero_attn** -- If specified, adds a new batch of zeros
    to the key and value sequences at dim=1. Default: "False".

  * **kdim** -- Total number of features for keys. Default: "None"
    (uses "kdim=embed_dim").

  * **vdim** -- Total number of features for values. Default:
    "None" (uses "vdim=embed_dim").

  * **batch_first** -- If "True", then the input and output
    tensors are provided as (batch, seq, feature). Default:
    "False" (seq, batch, feature).

Examples:
  >>> multihead_attn = nn.MultiheadAttention(embed_dim, num_heads)
  >>> attn_output, attn_output_weights = multihead_attn(query, key, value)
