code: def load_dataset(dataset_file, featurizer="ECFP", split="index"):
      tasks = ["exp"]
  
      if featurizer == "ECFP":
          featurizer = dc.feat.CircularFingerprint(size=1024)
      elif featurizer == "GraphConv":
          featurizer = dc.feat.ConvMolFeaturizer()
  
      loader = dc.data.CSVLoader(
          tasks=tasks, smiles_field="smiles", featurizer=featurizer
      )
      dataset = loader.featurize(dataset_file, shard_size=8192)
  
      transformers = [
          dc.trans.NormalizationTransformer(
              transform_y=True, dataset=dataset
          )
      ]
      for transformer in transformers:
          dataset = transformer.transform(dataset)
  
      splitters = {
          "index": dc.splits.IndexSplitter(),
          "random": dc.splits.RandomSplitter(),
          "scaffold": dc.splits.ScaffoldSplitter(),
      }
      splitter = splitters[split]
      train, valid, test = splitter.train_valid_test_split(dataset)
      return tasks, (train, valid, test), transformers
  
file_path: deepchem/examples/adme/run_benchmarks.py
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import unicode_literals
  import os
  import numpy
  from sklearn.ensemble import RandomForestRegressor
  from sklearn import svm
  import tensorflow
  import deepchem
  from deepchem.models.graph_models import GraphConvModel
label_desc: Use image node_id 2 for calling a global function with example usage: load_dataset(dataset_file, featurizer, split) and returns: tasks,  train,  valid,  test,  transformers