class_docstr: (IA)^3 incorporated in a Linear Layer. Weights of Linear layer are set to be frozen per default.
  
  Parameters
  ----------
  in_features
      input dimension, set to the original linear layer input dimension LoRA is replacing.
  out_features
      output dimension, set to the original linear layer output dimension LoRA is replacing.
  scaling_rank
      Merging weights during inference to reduce latency.
  
  References
  ----------
  1. Liu, Haokun and Tam, Derek and Muqeeth, Mohammed and Mohta, Jay and Huang, Tenghao and Bansal, Mohit and Raffel, Colin,
  "Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning", 2022
  https://arxiv.org/pdf/2205.05638.pdf
  2. Code: https://github.com/r-three/t-few
code: def eval(self):
      # def T(w):
      #     return w.T if self.fan_in_fan_out else w
      nn.Linear.eval(self)
      if self.merge_weights and not self.merged:
          # Merge the weights and mark it
          if self.r > 0:
              self.weight.data *= self.lora_b.flatten()
          self.merged = True
      return hidden
  
imports: import math
  from typing import List
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 4 for calling the IA3Linear obj's underlying member method code with example usage: obj.eval() and returns: hidden