class_docstr: The base class for a model.
  
  Attributes:
      model: Your model that takes some args, kwargs and returns an output.
          Must be callable.
      name: string identifier for the model. Lowercase letters and numbers.
          No spaces/special characters except dashes.
      description: String description of the model.
      tasks: List of supported task strings
      details: Dictionary of additional details about the model
code: def __init__(
      self,
      model,
      name: str = None,
      description: str = None,
      tasks: List[str] = None,
      details: Dict = None,
  ):
      torch.nn.Module.__init__(self)
      self.model = model
      self.name = name or "base-model"
      self.description = (
          description or "This is the base description. Change me."
      )
      self.tasks = tasks or []  # Supports no tasks
      self.details = details or {}
  
imports: from typing import List, Tuple, Dict
  from transformers import AutoModelForPreTraining, AutoTokenizer, AutoModelForSequenceClassification, AdamW
  from torch.utils.data import DataLoader, Subset
  from sentence_transformers import SentenceTransformer
  from functools import partial
  import os
  import torch
  import torch.nn.functional
  import pytorch_lightning
  from pytorch_lightning.callbacks.early_stopping import EarlyStopping
  from pytorch_lightning.utilities.memory import garbage_collection_cuda
label_desc: Use image node_id 1 to create a new BaseModel object from inherited base classes: torch.nn with example: obj = BaseModel(model, name, description, tasks, details)