"key" value.
     * **need_weights** (*bool*) -- If specified, returns
       "attn_output_weights" in addition to "attn_outputs".
       Default: "True".

     * **attn_mask** (*Optional**[**Tensor**]*) -- If specified, a
       2D or 3D mask preventing attention to certain positions.
       Must be of shape (L, S) or (N\cdot\text{num\_heads}, L, S),
       where N is the batch size, L is the target sequence length,
       and S is the source sequence length. A 2D mask will be
       broadcasted across the batch while a 3D mask allows for a
       different mask for each entry in the batch. Binary, byte,
       and float masks are supported. For a binary mask, a "True"
       value indicates that the corresponding position is not
       allowed to attend. For a byte mask, a non-zero value
       indicates that the corresponding position is not allowed to
       attend. For a float mask, the mask values will be added to
