code: def download_hmdb51(args):
      from gluoncv.utils.filesystem import try_import_rarfile
  
      rarfile = try_import_rarfile()
  
      target_dir = args.download_dir
      if not os.path.exists(target_dir):
          os.makedirs(target_dir)
  
      target_rar_dir = os.path.join(target_dir, "rars")
      if not os.path.exists(target_rar_dir):
          os.makedirs(target_rar_dir)
  
      target_video_dir = os.path.join(target_dir, "videos")
      if not os.path.exists(target_video_dir):
          os.makedirs(target_video_dir)
  
      video_url = "http://serre-lab.clps.brown.edu/wp-content/uploads/2013/10/hmdb51_org.rar"
      os.system("wget -P %s %s" % (target_dir, video_url))
      with rarfile.RarFile(
          os.path.join(target_dir, "hmdb51_org.rar")
      ) as rf:
          rf.extractall(path=target_rar_dir)
  
      rar_list = os.listdir(target_rar_dir)
      for _, class_rar in enumerate(rar_list):
          with rarfile.RarFile(
              os.path.join(target_rar_dir, class_rar)
          ) as rf:
              rf.extractall(path=target_video_dir)
  
      anno_url = "http://serre-lab.clps.brown.edu/wp-content/uploads/2013/10/test_train_splits.rar"
      os.system("wget -P %s %s" % (target_dir, anno_url))
      with rarfile.RarFile(
          os.path.join(target_dir, "test_train_splits.rar")
      ) as rf:
          rf.extractall(path=target_dir)
  
imports: import argparse
  import sys
  import os
  import os.path
  import glob
  import fnmatch
  import random
  from pipes import quote
  from multiprocessing import Pool, current_process
label_desc: Use image node_id 11 for calling a global function with example usage: download_hmdb51(args) without return types