code: def fit(
      self,
      dataset,
      nb_epoch=10,
      max_checkpoints_to_keep=5,
      log_every_N_batches=50,
      checkpoint_interval=10,
      **kwargs,
  ):
      # Perform the optimization
      log("Training for %d epochs" % nb_epoch, self.verbose)
  
      # TODO(rbharath): Disabling saving for now to try to debug.
      for epoch in range(nb_epoch):
          log("Starting epoch %d" % epoch, self.verbose)
          for batch_num, (X_b, y_b, w_b, ids_b) in enumerate(
              dataset.iterbatches(
                  self.batch_size, pad_batches=self.pad_batches
              )
          ):
              if batch_num % log_every_N_batches == 0:
                  log("On batch %d" % batch_num, self.verbose)
              self.sess.run(
                  self.train_op,
                  feed_dict=self.construct_feed_dict(X_b, y_b, w_b),
              )
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import unicode_literals
  import warnings
  import os
  import sys
  import numpy
  import tensorflow
  import sklearn.metrics
  import tempfile
  from deepchem.data import pad_features
  from deepchem.utils.save import log
  from deepchem.models import Model
  from deepchem.nn.copy import Input
  from deepchem.nn.copy import Dense
  from deepchem.nn import model_ops
  from deepchem.models.tf_new_models.graph_topology import merge_dicts
label_desc: Use image node_id 7 for calling the MultitaskGraphClassifier obj's underlying member method code with example usage: obj.fit(dataset, nb_epoch, max_checkpoints_to_keep, log_every_N_batches, checkpoint_interval) without return types