code: def reset_scale(self, input):
      bw = self.weight
      ba = input
      bw = bw - bw.mean()
      self.scale = Parameter(
          (
              F.linear(ba, bw).std()
              / F.linear(torch.sign(ba), torch.sign(bw)).std()
          )
          .float()
          .to(ba.device)
      )
      # corner case when ba is all 0.0
      if torch.isnan(self.scale):
          self.scale = Parameter(
              (bw.std() / torch.sign(bw).std()).float().to(ba.device)
          )
  
imports: import dgl
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.autograd import Function
  from torch.nn import Parameter
  from torch.nn.modules.utils import _single
label_desc: Use image node_id 2 for calling the BiLinearLSR obj's underlying member method code with example usage: obj.reset_scale(input) without return types