class_docstr: This class keeps two Cosine Linear layers, without sigma scaling,
  and handles the sigma parameter that is common for the two of them.
  One CosineLinear is for the old classes and the other
  one is for the new classes
class_docstr_tok: ["This","class","keeps","two","Cosine","Linear","layers",",","without","sigma","scaling",",","and","handles","the","sigma","parameter","that","is","common","for","the","two","of","them",".","One","CosineLinear","is","for","the","old","classes","and","the","other","one","is","for","the","new","classes"]
code: def forward(self, x):
      out1 = self.fc1(x)
      out2 = self.fc2(x)
  
      out = torch.cat((out1, out2), dim=1)
  
      if self.sigma is not None:
          out = self.sigma * out
  
      return out
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  import numpy
  from avalanche.models import DynamicModule
label_desc: Use image node_id 2 for calling the SplitCosineLinear obj's underlying member method code with example usage: obj.forward(x) and returns: out