class_docstr: Abstract Class to describe the interface of a trainable model to be used
  within the algorithms of captum.
  
  Please note that this is an experimental feature.
docstr: Override this method to actually train your model.
  
  The specification of the dataloader will be supplied by the algorithm
  you are using within captum. This will likely be a supervised learning
  task, thus you should expect batched (x, y) pairs or (x, y, w) triples.
  
  Args:
      train_data (DataLoader):
          The data to train on
  
  Returns:
      Optional statistics about training, e.g.  iterations it took to
      train, training loss, etc.
code: def fit(
      self, train_data: DataLoader, **kwargs
  ) -> Optional[Dict[str, Union[int, float, Tensor]]]:
      r"""
      Override this method to actually train your model.
  
      The specification of the dataloader will be supplied by the algorithm
      you are using within captum. This will likely be a supervised learning
      task, thus you should expect batched (x, y) pairs or (x, y, w) triples.
  
      Args:
          train_data (DataLoader):
              The data to train on
  
      Returns:
          Optional statistics about training, e.g.  iterations it took to
          train, training loss, etc.
      """
      pass
  
file_path: captum/captum/_utils/models/model.py
imports: from abc import ABC, abstractmethod
  from typing import Dict, Optional, Union
  from captum._utils.typing import TensorOrTupleOfTensorsGeneric
  from torch import Tensor
  from torch.utils.data import DataLoader
label_desc: Use image node_id 1 for calling the Model obj's underlying member method code with example usage: obj.fit(train_data) without return types