code: def get_sbd():
      # To support ChainerMN, the target directory should be locked.
      with filelock.FileLock(
          os.path.join(
              download.get_dataset_directory("pfnet/chainercv/.lock"),
              "sbd.lock",
          )
      ):
          data_root = download.get_dataset_directory(root)
          base_path = os.path.join(
              data_root, "benchmark_RELEASE/dataset"
          )
  
          train_voc2012_file = os.path.join(
              base_path, "train_voc2012.txt"
          )
          if os.path.exists(train_voc2012_file):
              # skip downloading
              return base_path
  
          download_file_path = utils.cached_download(url)
          ext = os.path.splitext(url)[1]
          utils.extractall(download_file_path, data_root, ext)
  
          six.moves.urllib.request.urlretrieve(
              train_voc2012_url, train_voc2012_file
          )
          _generate_voc2012_txt(base_path)
  
      return base_path
  
file_path: chainercv/chainercv/datasets/sbd/sbd_utils.py
imports: import filelock
  import os
  import six
  from chainer.dataset import download
  from chainercv.datasets.voc.voc_utils import voc_instance_segmentation_label_names
  from chainercv import utils
label_desc: Use image node_id 2 for calling a global function with example usage: get_sbd() and returns: base_path, base_path