code: def convert_wav2vec2_checkpoint(
      checkpoint_path,
      pytorch_dump_folder_path,
      dict_path,
      config_yaml_path,
      encoder_config_path,
      decoder_config_path,
      add_adapter,
      adapter_kernel_size,
      adapter_stride,
      decoder_start_token_id,
      encoder_output_dim,
  ):
      """
      Copy/paste/tweak model's weights to transformers design.
      """
      # load configs
      encoder_config = Wav2Vec2Config.from_pretrained(
          encoder_config_path,
          add_adapter=True,
          adapter_stride=adapter_stride,
          adapter_kernel_size=adapter_kernel_size,
          token_token=True,
          output_hidden_size=encoder_output_dim,
      )
      decoder_config = MBartConfig.from_pretrained(decoder_config_path)
  
      # load model
      (
          model,
          _,
          _,
      ) = fairseq.checkpoint_utils.load_model_ensemble_and_task(
          [checkpoint_path],
          arg_overrides={
              "config_yaml": config_yaml_path,
              "data": "/".join(dict_path.split("/")[:-1]),
              "w2v_path": checkpoint_path,
              "load_pretrained_decoder_from": None,
          },
      )
      model = model[0].eval()
  
      # load feature extractor
      feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
          encoder_config_path, token_token=True
      )
  
      # set weights for wav2vec2 encoder
      hf_encoder = Wav2Vec2Model(encoder_config)
  
      recursively_load_weights_wav2vec2(model.encoder, hf_encoder)
  
      # load decoder weights
      hf_decoder = MBartForCausalLM(decoder_config)
      (
          missing_keys,
          unexpected_keys,
      ) = hf_decoder.model.decoder.load_state_dict(
          model.decoder.state_dict(), strict=False
      )
      logger.warning(
          f"The following keys are missing when loading the decoder weights: {missing_keys}"
      )
      logger.warning(
          f"The following keys are unexpected when loading the decoder weights: {unexpected_keys}"
      )
  
      hf_wav2vec = SpeechEncoderDecoderModel(
          encoder=hf_encoder, decoder=hf_decoder
      )
      hf_wav2vec.config.tie_word_embeddings = False
  
      tokenizer = MBart50Tokenizer(dict_path)
      tokenizer.save_pretrained(pytorch_dump_folder_path)
  
      config = hf_wav2vec.config.to_dict()
      config["pad_token_id"] = tokenizer.pad_token_id
      config["bos_token_id"] = tokenizer.bos_token_id
      config["eos_token_id"] = tokenizer.eos_token_id
      config["tokenizer_class"] = "mbart50"
      config["feature_extractor_type"] = "wav2vec2"
  
      config["decoder_start_token_id"] = tokenizer.eos_token_id
      config["forced_bos_token_id"] = 250004
      config["forced_eos_token_id"] = tokenizer.eos_token_id
  
      hf_wav2vec.config = SpeechEncoderDecoderConfig.from_dict(config)
  
      hf_wav2vec.save_pretrained(pytorch_dump_folder_path)
      feature_extractor.save_pretrained(pytorch_dump_folder_path)
  
file_path: transformers/src/transformers/models/speech_encoder_decoder/convert_mbart_wav2vec2_seq2seq_original_to_pytorch.py
imports: import argparse
  import fairseq
  import torch
  from torch import nn
  from transformers import MBart50Tokenizer, MBartConfig, MBartForCausalLM, SpeechEncoderDecoderConfig, SpeechEncoderDecoderModel, Wav2Vec2Config, Wav2Vec2FeatureExtractor, Wav2Vec2Model, logging
label_desc: Use image node_id 6 for calling a global function with example usage: convert_wav2vec2_checkpoint(checkpoint_path, pytorch_dump_folder_path, dict_path, config_yaml_path, encoder_config_path, decoder_config_path, add_adapter, adapter_kernel_size, adapter_stride, decoder_start_token_id, encoder_output_dim) without return types