class_docstr: Regular and domain classifier network for regular-size images
  
  Args:
      input_dim (int, optional): the dimension of the final feature vector.. Defaults to 15.
      n_classes (int, optional): the number of classes. Defaults to 2.
      name (str, optional): the classifier name. Defaults to "c".
      hidden (tuple, optional): the hidden layer sizes. Defaults to ().
      activation_fn ([type], optional): the activation function. Defaults to nn.ReLU.
class_docstr_tok: ["Regular","and","domain","classifier","network","for","regular-size","images","Args",":","input_dim","(","int",",","optional",")",":","the","dimension","of","the","final","feature","vector","..","Defaults","to","15.","n_classes","(","int",",","optional",")",":","the","number","of","classes",".","Defaults","to","2.","name","(","str",",","optional",")",":","the","classifier","name",".","Defaults","to","``","c","''",".","hidden","(","tuple",",","optional",")",":","the","hidden","layer","sizes",".","Defaults","to","(",")",".","activation_fn","(","[","type","]",",","optional",")",":","the","activation","function",".","Defaults","to","nn.ReLU","."]
code: def __init__(
      self,
      input_dim=15,
      n_classes=2,
      name="c",
      hidden=(),
      activation_fn=nn.ReLU,
      **activation_args,
  ):
      super(SoftmaxNet, self).__init__()
      self._n_classes = n_classes
      self._activation_fn = activation_fn
      self.chain = nn.Sequential()
      self.name = name
      self._hidden_sizes = hidden if hidden is not None else ()
      last_dim = input_dim
      for i, h in enumerate(self._hidden_sizes):
          self.chain.add_module(f"{name}_fc{i}", nn.Linear(last_dim, h))
          self.chain.add_module(
              f"f_{activation_fn.__name__}{i}",
              activation_fn(**activation_args),
          )
          last_dim = h
      self.chain.add_module(
          f"{name}_fc_last", nn.Linear(last_dim, self._n_classes)
      )
      self.activation = nn.LogSoftmax(dim=1)
      self.loss_class = nn.NLLLoss()
  
imports: import torch
  import torch.nn
  from kale.embed.video_i3d import Unit3D
label_desc: Use image node_id 1 to create a new SoftmaxNet object from inherited base classes: nn with example: obj = SoftmaxNet(input_dim, n_classes, name, hidden, activation_fn)