class_docstr: The initial block is composed of two branches:
  1. a main branch which performs a regular convolution with stride 2;
  2. an extension branch which performs max-pooling.
  
  Doing both operations in parallel and concatenating their results
  allows for efficient downsampling and expansion. The main branch
  outputs 13 feature maps while the extension branch outputs 3, for a
  total of 16 feature maps after concatenation.
  
  Keyword arguments:
  - in_channels (int): the number of input channels.
  - out_channels (int): the number output channels.
  - kernel_size (int, optional): the kernel size of the filters used in
  the convolution layer. Default: 3.
  - padding (int, optional): zero-padding added to both sides of the
  input. Default: 0.
  - bias (bool, optional): Adds a learnable bias to the output if
  ``True``. Default: False.
  - relu (bool, optional): When ``True`` ReLU is used as the activation
  function; otherwise, PReLU is used. Default: True.
class_docstr_tok: ["The","initial","block","is","composed","of","two","branches",":","1.","a","main","branch","which","performs","a","regular","convolution","with","stride","2",";","2.","an","extension","branch","which","performs","max-pooling",".","Doing","both","operations","in","parallel","and","concatenating","their","results","allows","for","efficient","downsampling","and","expansion",".","The","main","branch","outputs","13","feature","maps","while","the","extension","branch","outputs","3",",","for","a","total","of","16","feature","maps","after","concatenation",".","Keyword","arguments",":","-","in_channels","(","int",")",":","the","number","of","input","channels",".","-","out_channels","(","int",")",":","the","number","output","channels",".","-","kernel_size","(","int",",","optional",")",":","the","kernel","size","of","the","filters","used","in","the","convolution","layer",".","Default",":","3",".","-","padding","(","int",",","optional",")",":","zero-padding","added","to","both","sides","of","the","input",".","Default",":","0",".","-","bias","(","bool",",","optional",")",":","Adds","a","learnable","bias","to","the","output","if","``","True","``",".","Default",":","False",".","-","relu","(","bool",",","optional",")",":","When","``","True","``","ReLU","is","used","as","the","activation","function",";","otherwise",",","PReLU","is","used",".","Default",":","True","."]
code: def forward(self, x):
      main = self.main_branch(x)
      ext = self.ext_branch(x)
  
      # Concatenate branches
      out = torch.cat((main, ext), 1)
  
      # Apply batch normalization
      out = self.batch_norm(out)
  
      return self.out_prelu(out)
  
imports: import torch.nn
  import torch
label_desc: Use image node_id 2 for calling the InitialBlock obj's underlying member method code with example usage: obj.forward(x) and returns: self