class_docstr: Adapted from `asteroid`'s `complex_nn.py`, allowing
      args/kwargs to be passed through forward().
  
  Make a complex-valued module `F` from a real-valued module `f` by applying
  complex multiplication rules:
  
  F(a + i b) = f1(a) - f1(b) + i (f2(b) + f2(a))
  
  where `f1`, `f2` are instances of `f` that do *not* share weights.
  
  Args:
      module_cls (callable): A class or function that returns a Torch
          module/functional. Constructor of `f` in the formula above.
          Called 2x with `*args`, `**kwargs`, to construct the real and imaginary
          component modules.
class_docstr_tok: ["Adapted","from","`","asteroid","`","'s","`","complex_nn.py","`",",","allowing","args\/kwargs","to","be","passed","through","forward","(",")",".","Make","a","complex-valued","module","`","F","`","from","a","real-valued","module","`","f","`","by","applying","complex","multiplication","rules",":","F","(","a","+","i","b",")","=","f1","(","a",")","-","f1","(","b",")","+","i","(","f2","(","b",")","+","f2","(","a",")",")","where","`","f1","`",",","`","f2","`","are","instances","of","`","f","`","that","do","*","not","*","share","weights",".","Args",":","module_cls","(","callable",")",":","A","class","or","function","that","returns","a","Torch","module\/functional",".","Constructor","of","`","f","`","in","the","formula","above",".","Called","2x","with","`","*","args","`",",","`","*","*","kwargs","`",",","to","construct","the","real","and","imaginary","component","modules","."]
code: def forward(self, x, *args, **kwargs):
      return torch_complex_from_reim(
          self.re_module(x.real, *args, **kwargs)
          - self.im_module(x.imag, *args, **kwargs),
          self.re_module(x.imag, *args, **kwargs)
          + self.im_module(x.real, *args, **kwargs),
      )
  
imports: import functools
  from functools import partial
  import numpy
  import torch
  from torch import Tensor, nn
  from torch.nn.modules.batchnorm import _BatchNorm
label_desc: Use image node_id 2 for calling the ArgsComplexMultiplicationWrapper obj's underlying member method code with example usage: obj.forward(x) and returns: torch_complex_from_reim