class_docstr: The GOOD-Motif dataset motivated by `Spurious-Motif
  <https://arxiv.org/abs/2201.12872>`_.
  
  Args:
      root (str): The dataset saving root.
      domain (str): The domain selection. Allowed: 'basis' and 'size'.
      shift (str): The distributional shift we pick. Allowed: 'no_shift', 'covariate', and 'concept'.
      subset (str): The split set. Allowed: 'train', 'id_val', 'id_test', 'val', and 'test'. When shift='no_shift',
          'id_val' and 'id_test' are not applicable.
      generate (bool): The flag for regenerating dataset. True: regenerate. False: download.
class_docstr_tok: ["The","GOOD-Motif","dataset","motivated","by","`","Spurious-Motif","<","https",":","\/\/arxiv.org\/abs\/2201.12872",">","`","_",".","Args",":","root","(","str",")",":","The","dataset","saving","root",".","domain","(","str",")",":","The","domain","selection",".","Allowed",":","'basis","'","and","'size","'",".","shift","(","str",")",":","The","distributional","shift","we","pick",".","Allowed",":","'no_shift","'",",","'covariate","'",",","and","'concept","'",".","subset","(","str",")",":","The","split","set",".","Allowed",":","'train","'",",","'id_val","'",",","'id_test","'",",","'val","'",",","and","'test","'",".","When","shift='no_shift","'",",","'id_val","'","and","'id_test","'","are","not","applicable",".","generate","(","bool",")",":","The","flag","for","regenerating","dataset",".","True",":","regenerate",".","False",":","download","."]
code: def _download(self):
      if (
          os.path.exists(osp.join(self.raw_dir, self.name))
          or self.generate
      ):
          return
      if not os.path.exists(self.raw_dir):
          os.makedirs(self.raw_dir)
      self.download()
  
file_path: DIG/dig/oodgraph/good_motif.py
imports: import os
  import os.path
  import gdown
  import torch
  from munch import Munch
  from torch_geometric.data import InMemoryDataset, extract_zip
label_desc: Use image node_id 3 for calling the GOODMotif obj's underlying member method code with example usage: obj._download() without return types