code: def save_variable_to_cache_file(variables):
      num_of_files = DATA_NUM // RANGE
      if num_of_files * RANGE < DATA_NUM:
          num_of_files += 1
  
      split_variables = OrderedDict()
      for k, v in variables.items():
          split_variables[k] = np.split(v, num_of_files, axis=0)
  
      cache_file_names = []
      range_start = 0
      range_end = range_start + RANGE - 1
      for i in range(num_of_files):
          cache_file_name = os.path.join(
              CACHE_FOLDER,
              "cache_sliced_{:08d}_{:08d}.npy".format(
                  range_start, range_end
              ),
          )
          range_start = range_end
          range_end += RANGE
          cache_file_names.append(
              [os.path.basename(cache_file_name), RANGE]
          )
  
          with open(cache_file_name, "wb") as f:
              for k, v in split_variables.items():
                  np.save(f, v[i])
  
      save_file_list(cache_file_names)
      save_variable_list(variables)
  
file_path: nnabla/src/nbla_utils/test/test_npy_files.py
imports: import pytest
  import numpy
  import zlib
  import csv
  import os
  from collections import OrderedDict
label_desc: Use image node_id 3 for calling a global function with example usage: save_variable_to_cache_file(variables) without return types