class_docstr: WideResNet implementation with 3 groups.
  
  Reference:
      http://arxiv.org/abs/1605.07146
      https://github.com/szagoruyko/wide-residual-networks
docstr: Creates WideResNet instance.
  
  Args:
      nin: number of channels in the input image.
      nclass: number of output classes.
      depth: number of convolution layers. (depth-4) should be divisible by 6
      width: multiplier to the number of convolution filters.
      bn: module which used as batch norm function.
docstr_tok: ["Creates","WideResNet","instance",".","Args",":","nin",":","number","of","channels","in","the","input","image",".","nclass",":","number","of","output","classes",".","depth",":","number","of","convolution","layers",".","(","depth-4",")","should","be","divisible","by","6","width",":","multiplier","to","the","number","of","convolution","filters",".","bn",":","module","which","used","as","batch","norm","function","."]
code: def __init__(
      self,
      nin: int,
      nclass: int,
      depth: int = 28,
      width: int = 2,
      bn: Callable = functools.partial(
          objax.nn.BatchNorm2D, momentum=BN_MOM, eps=BN_EPS
      ),
  ):
      """Creates WideResNet instance.
  
      Args:
          nin: number of channels in the input image.
          nclass: number of output classes.
          depth: number of convolution layers. (depth-4) should be divisible by 6
          width: multiplier to the number of convolution filters.
          bn: module which used as batch norm function.
      """
      assert (depth - 4) % 6 == 0, "depth should be 6n+4"
      n = (depth - 4) // 6
      blocks_per_group = [n] * 3
      super().__init__(nin, nclass, blocks_per_group, width, bn)
  
file_path: objax/objax/zoo/wide_resnet.py
imports: import functools
  from typing import Callable, List
  import objax
  from objax.typing import JaxArray
label_desc: Use image node_id 1 to create a new WideResNet object from inherited base classes: WideResNetGeneral with example: obj = WideResNet(nin, nclass, depth, width, bn)