code: def __init__(self, model):
      self.forward_fullargspec = ModelInfo.get_forward_fullargspec(
          model
      )
  
      """
          This function is to get all the arguments(excepts *args and **kwargs)
          It will return a list of arg name
          E.g.
          def forward(self, a, b=1, c: int = 3, *args, **kwargs):
             pass
          it will return ['a', 'b', 'c']
          """
      self.forward_args = self.forward_fullargspec.args[1:]
  
      """
          This function is to get all the defaults
          It will return a list of default values
          E.g.
          def forward(self, a, b=1, c: int = 3, *args, **kwargs):
              pass
          it will return (1, 3)
          """
      self.forward_defaults = self.forward_fullargspec.defaults
  
      """
          This function is to get all the annotations
          It will return a dict of {args: annotations}
          E.g.
          def forward(self, a, b=1, c: int = 3, *args, **kwargs):
              pass
          it will return {'c': <class 'int'>}
          """
      self.forward_annotations = self.forward_fullargspec.annotations
  
imports: import inspect
  from typing import Optional, Union
  import torch
label_desc: Use image node_id 1 to create a new ModelInfo object  with example: obj = ModelInfo(model)