class_docstr: Initialises a T5 model.
  
  Attributes:
      model_path: path to an appropriate T5 model on huggingface (t5-small)
      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
      device: Device for model. Defaults to "cuda" if available.
docstr: Uses the model for the chosen task
  
  Args:
      task_input: input dictionary according to the chosen task's specification
      task: one of text-generation, emotion, summarisation, qa 
code: def __call__(self, task_input, task="text-generation"):
      """
      Uses the model for the chosen task
  
      Args:
          task_input: input dictionary according to the chosen task's specification
          task: one of text-generation, emotion, summarisation, qa
      """
      if task == "text-generation":
          text = task_input.pop("text")
          return self.generate(text, **task_input)
      elif task == "summarisation":
          return self.summary(
              task_input["text"],
              "summarize",
              no_repeat_ngram_size=3,
              num_beams=4,
              early_stopping=True,
              do_sample=True,
          )
      else:
          raise ValueError(f"Unsupported task: {task}")
  
file_path: backprop/backprop/models/t5/model.py
imports: from typing import List, Tuple, Dict
  import torch
  from backprop.models import HFSeq2SeqTGModel
label_desc: Use image node_id 2 for calling the T5 obj's underlying member method code with example usage: obj.__call__(task_input, task) and returns: self, self