code: def convert_config(args, gluon_cfg, converted):
      print("converting cfg...")
      # download config
      with tempfile.TemporaryDirectory() as temp_dir:
          hf_cfg_path = os.path.join(temp_dir, "config.json")
          download(url=args.config_url, path=hf_cfg_path)
          with open(hf_cfg_path, "r") as f:
              hf_cfg = json.load(f)
          os.remove(hf_cfg_path)
      # update attributes
      cfg = gluon_cfg.clone()
      cfg.defrost()
      cfg.MODEL.vocab_size = hf_cfg["vocab_size"]
      cfg.MODEL.d_model = hf_cfg["d_model"]
      cfg.MODEL.d_kv = hf_cfg["d_kv"]
      cfg.MODEL.d_ff = hf_cfg["d_ff"]
      cfg.MODEL.num_layers = hf_cfg["num_layers"]
      cfg.MODEL.num_heads = hf_cfg["num_heads"]
      cfg.MODEL.layer_norm_eps = hf_cfg["layer_norm_epsilon"]
      cfg.MODEL.dropout_prob = hf_cfg["dropout_rate"]
      cfg.INITIALIZER.init_factor = hf_cfg["initializer_factor"]
      cfg.freeze()
      # save config
      config_path = os.path.join(args.dest_dir, "model.yml")
      with open(config_path, "w") as f:
          f.write(cfg.dump())
      converted["config"] = config_path
      return cfg
  
imports: import argparse
  import logging
  import json
  import os
  import shutil
  import tempfile
  import torch
  import mxnet
  from mxnet import np, npx
  from gluonnlp.attention_cell import gen_self_attn_mask, gen_mem_attn_mask
  from gluonnlp.data.tokenizers import SentencepieceTokenizer
  from gluonnlp.models.t5 import T5Model
  from gluonnlp.utils.misc import download, logging_config, sha1sum, naming_convention
  from transformers import T5Model
label_desc: Use image node_id 2 for calling a global function with example usage: convert_config(args, gluon_cfg, converted) and returns: cfg