class_docstr: Implementation of ResNet v2 with 200 layers.
docstr: Creates ResNet200 instance.
  
  Args:
      in_channels: number of channels in the input image.
      num_classes: number of output classes.
      normalization_fn: module which used as normalization function.
      activation_fn: activation function.
docstr_tok: ["Creates","ResNet200","instance",".","Args",":","in_channels",":","number","of","channels","in","the","input","image",".","num_classes",":","number","of","output","classes",".","normalization_fn",":","module","which","used","as","normalization","function",".","activation_fn",":","activation","function","."]
code: def __init__(
      self,
      in_channels: int,
      num_classes: int,
      normalization_fn: Callable[
          ..., objax.Module
      ] = objax.nn.BatchNorm2D,
      activation_fn: Callable[
          [JaxArray], JaxArray
      ] = objax.functional.relu,
  ):
      """Creates ResNet200 instance.
  
      Args:
          in_channels: number of channels in the input image.
          num_classes: number of output classes.
          normalization_fn: module which used as normalization function.
          activation_fn: activation function.
      """
      super().__init__(
          in_channels=in_channels,
          num_classes=num_classes,
          blocks_per_group=(3, 24, 36, 3),
          group_strides=(2, 2, 2, 1),
          bottleneck=True,
          normalization_fn=normalization_fn,
          activation_fn=activation_fn,
      )
  
imports: import functools
  from typing import Callable, Sequence, Union, Optional
  from jax import numpy
  import objax
  from objax.constants import ConvPadding
  from objax.nn import Conv2D
  from objax.typing import JaxArray, ConvPaddingInt
label_desc: Use image node_id 1 to create a new ResNet200 object from inherited base classes: ResNetV2 with example: obj = ResNet200(in_channels, num_classes, normalization_fn, activation_fn)