code: def _convert(args, source):
      _, ext = os.path.splitext(args.destination)
      if ext.lower() == ".cache":
          with DataSourceWithFileCache(
              source, cache_dir=args.destination, shuffle=args.shuffle
          ) as ds:
              print("Number of Data: {}".format(ds.size))
              print("Shuffle:        {}".format(args.shuffle))
              print("Normalize:      {}".format(args.normalize))
              pbar = None
              if (
                  nnabla_config.get("MISC", "misc_show_progress")
                  == "True"
              ):
                  pbar = tqdm(total=ds.size)
              for i in range(ds.size):
                  ds._get_data(i)
                  if pbar is not None:
                      pbar.update(1)
      else:
          print(
              "Command `conv_dataset` only supports CACHE as destination."
          )
  
file_path: nnabla/python/src/nnabla/utils/cli/conv_dataset.py
imports: import os
  import shutil
  from nnabla.config import nnabla_config
  from nnabla.utils.create_cache import CreateCache
  from nnabla.utils.data_source import DataSourceWithFileCache
  from nnabla.utils.data_source_implements import CacheDataSource, CsvDataSource
  from tqdm import tqdm
label_desc: Use image node_id 1 for calling a global function with example usage: _convert(args, source) without return types