for more details.
     * **value** (*Tensor*) -- Value embeddings of shape (S, E_v)
       for unbatched input, (S, N, E_v) when "batch_first=False"
       or (N, S, E_v) when "batch_first=True", where S is the
       source sequence length, N is the batch size, and E_v is the
       value embedding dimension "vdim". See "Attention Is All You
       Need" for more details.

     * **key_padding_mask** (*Optional**[**Tensor**]*) -- If
       specified, a mask of shape (N, S) indicating which elements
       within "key" to ignore for the purpose of attention (i.e.
       treat as "padding"). For unbatched *query*, shape should be
       (S). Binary and byte masks are supported. For a binary
       mask, a "True" value indicates that the corresponding "key"
       value will be ignored for the purpose of attention. For a
       float mask, it will be directly added to the corresponding
       "key" value.
