code: def _reorder_cache(past_key_values, beam_idx):
      reordered_past = ()
      for layer_past in past_key_values:
          reordered_past += (
              tuple(
                  past_state.index_select(
                      0, beam_idx.to(past_state.device)
                  )
                  for past_state in layer_past
              ),
          )
      return reordered_past
  
imports: import math
  from typing import Optional, Tuple, Union
  import torch
  from torch import nn
  from torch.nn import CrossEntropyLoss
  from ...activations import ACT2FN
  from ...modeling_attn_mask_utils import _prepare_4d_attention_mask, _prepare_4d_causal_attention_mask
  from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPastAndCrossAttentions, Seq2SeqLMOutput, Seq2SeqModelOutput
  from ...modeling_utils import PreTrainedModel
  from ...utils import add_start_docstrings, add_start_docstrings_to_model_forward, logging, replace_return_docstrings
  from .configuration_speech_to_text import Speech2TextConfig
label_desc: Use image node_id 8 for calling the Speech2TextForConditionalGeneration obj's underlying member method code with example usage: obj._reorder_cache(past_key_values, beam_idx) and returns: reordered_past