code: def attention(idx, cnt):
      """
      The function helps in renaming attention block layers weights.
  
      Args:
          idx: stage number in original model
          cnt: count of blocks in each stage
      """
      attention_weights = []
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_query.convolution_projection.convolution.weight",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_q.conv.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_query.convolution_projection.normalization.weight",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_q.bn.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_query.convolution_projection.normalization.bias",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_q.bn.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_query.convolution_projection.normalization.running_mean",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_q.bn.running_mean",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_query.convolution_projection.normalization.running_var",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_q.bn.running_var",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_query.convolution_projection.normalization.num_batches_tracked",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_q.bn.num_batches_tracked",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_key.convolution_projection.convolution.weight",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_k.conv.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_key.convolution_projection.normalization.weight",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_k.bn.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_key.convolution_projection.normalization.bias",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_k.bn.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_key.convolution_projection.normalization.running_mean",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_k.bn.running_mean",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_key.convolution_projection.normalization.running_var",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_k.bn.running_var",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_key.convolution_projection.normalization.num_batches_tracked",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_k.bn.num_batches_tracked",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_value.convolution_projection.convolution.weight",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_v.conv.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_value.convolution_projection.normalization.weight",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_v.bn.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_value.convolution_projection.normalization.bias",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_v.bn.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_value.convolution_projection.normalization.running_mean",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_v.bn.running_mean",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_value.convolution_projection.normalization.running_var",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_v.bn.running_var",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.convolution_projection_value.convolution_projection.normalization.num_batches_tracked",
              f"stage{idx}.blocks.{cnt}.attn.conv_proj_v.bn.num_batches_tracked",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.projection_query.weight",
              f"stage{idx}.blocks.{cnt}.attn.proj_q.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.projection_query.bias",
              f"stage{idx}.blocks.{cnt}.attn.proj_q.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.projection_key.weight",
              f"stage{idx}.blocks.{cnt}.attn.proj_k.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.projection_key.bias",
              f"stage{idx}.blocks.{cnt}.attn.proj_k.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.projection_value.weight",
              f"stage{idx}.blocks.{cnt}.attn.proj_v.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.attention.projection_value.bias",
              f"stage{idx}.blocks.{cnt}.attn.proj_v.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.output.dense.weight",
              f"stage{idx}.blocks.{cnt}.attn.proj.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.attention.output.dense.bias",
              f"stage{idx}.blocks.{cnt}.attn.proj.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.intermediate.dense.weight",
              f"stage{idx}.blocks.{cnt}.mlp.fc1.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.intermediate.dense.bias",
              f"stage{idx}.blocks.{cnt}.mlp.fc1.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.output.dense.weight",
              f"stage{idx}.blocks.{cnt}.mlp.fc2.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.output.dense.bias",
              f"stage{idx}.blocks.{cnt}.mlp.fc2.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.layernorm_before.weight",
              f"stage{idx}.blocks.{cnt}.norm1.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.layernorm_before.bias",
              f"stage{idx}.blocks.{cnt}.norm1.bias",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.layernorm_after.weight",
              f"stage{idx}.blocks.{cnt}.norm2.weight",
          )
      )
      attention_weights.append(
          (
              f"cvt.encoder.stages.{idx}.layers.{cnt}.layernorm_after.bias",
              f"stage{idx}.blocks.{cnt}.norm2.bias",
          )
      )
      return attention_weights
  
file_path: H2O/h2o_flexgen/benchmark/third_party/transformers/src/transformers/models/cvt/convert_cvt_original_pytorch_checkpoint_to_pytorch.py
imports: import argparse
  import json
  from collections import OrderedDict
  import torch
  from huggingface_hub import cached_download, hf_hub_url
  from transformers import AutoFeatureExtractor, CvtConfig, CvtForImageClassification
label_desc: Use image node_id 2 for calling a global function with example usage: attention(idx, cnt) and returns: attention_weights