class_docstr: SwiGLU
  NOTE: GluMLP above can implement SwiGLU, but this impl has split fc1 and
  better matches some other common impl which makes mapping checkpoints simpler.
code: def forward(self, x):
      x_gate = self.fc1_g(x)
      x = self.fc1_x(x)
      x = self.act(x_gate) * x
      x = self.drop1(x)
      x = self.norm(x)
      x = self.fc2(x)
      x = self.drop2(x)
      return x
  
imports: from functools import partial
  from torch import nn
  from .grn import GlobalResponseNorm
  from .helpers import to_2tuple
label_desc: Use image node_id 3 for calling the SwiGLU obj's underlying member method code with example usage: obj.forward(x) and returns: x