code: def check_dataset_change(dataset_dir, processed_dir):
      """Check whether dataset has been changed by checking its hash value."""
      hash_value_file = "dataset_hash_value.txt"
      hash_value_file_path = os.path.join(
          dataset_dir, processed_dir, hash_value_file
      )
      if not os.path.exists(hash_value_file_path):
          return True
      with open(hash_value_file_path, "r") as f:
          oringinal_hash_value = json.load(f)
      present_hash_value = calculate_dir_hash(
          dataset_dir, ignore=hash_value_file
      )
      if oringinal_hash_value == present_hash_value:
          force_preprocess = False
      else:
          force_preprocess = True
      return force_preprocess
  
file_path: dgl/python/dgl/graphbolt/internal/utils.py
imports: import hashlib
  import json
  import os
  import shutil
  from typing import List, Union
  import numpy
  import pandas
  import torch
  from numpy.lib.format import read_array_header_1_0, read_array_header_2_0
label_desc: Use image node_id 11 for calling a global function with example usage: check_dataset_change(dataset_dir, processed_dir) and returns: force_preprocess, True