class_docstr: Multi-headed attention.
  
  See "Attention Is All You Need" for more details.
class_docstr_tok: ["Multi-headed","attention",".","See","``","Attention","Is","All","You","Need","''","for","more","details","."]
docstr: Reorder buffered internal state (for incremental generation).
docstr_tok: ["Reorder","buffered","internal","state","(","for","incremental","generation",")","."]
code: def reorder_incremental_state(
      self,
      incremental_state: Optional[
          Dict[str, Dict[str, Optional[Tensor]]]
      ],
      new_order: Tensor,
  ):
      """Reorder buffered internal state (for incremental generation)."""
      input_buffer = self._get_input_buffer(incremental_state)
      if input_buffer is not None:
          for k in input_buffer.keys():
              input_buffer_k = input_buffer[k]
              if input_buffer_k is not None:
                  if self.encoder_decoder_attention:
                      if input_buffer_k.size(
                          0
                      ) * self.beam_size == new_order.size(0):
                          return incremental_state
                      elif self.beam_size > 1:
                          input_buffer[k] = input_buffer_k.index_select(
                              0,
                              new_order.reshape(-1, self.beam_size)[
                                  :, 0
                              ]
                              // self.beam_size,
                          )
                      else:
                          input_buffer[k] = input_buffer_k.index_select(
                              0, new_order
                          )
                  else:
                      input_buffer[k] = input_buffer_k.index_select(
                          0, new_order
                      )
          incremental_state = self._set_input_buffer(
              incremental_state, input_buffer
          )
      return incremental_state
  
imports: import math
  from typing import Dict, List, Optional, Tuple
  import torch
  import torch.nn.functional
  from torch import Tensor, nn
  from torch.nn import Parameter
  from fairseq import utils
  from fairseq.modules.fairseq_dropout import FairseqDropout
  from fairseq.modules.quant_noise import quant_noise
  from fairseq.models.fairseq_incremental_decoder import FairseqIncrementalDecoder
label_desc: Use image node_id 13 for calling the MultiheadAttention obj's underlying member method code with example usage: obj.reorder_incremental_state(incremental_state, new_order) and returns: incremental_state, incremental_state