class_docstr: Defines a critic network from Classifier with a single output value and no final activation. The final layer is
  `nn.Flatten` instead of `nn.Linear`, the final result is computed as the mean over the first dimension. This is
  meant to be used with Wasserstein GANs.
  
  Args:
      in_shape: tuple of integers stating the dimension of the input tensor (minus batch dimension)
      channels: tuple of integers stating the output channels of each convolutional layer
      strides: tuple of integers stating the stride (downscale factor) of each convolutional layer
      kernel_size: integer or tuple of integers stating size of convolutional kernels
      num_res_units: integer stating number of convolutions in residual units, 0 means no residual units
      act: name or type defining activation layers
      norm: name or type defining normalization layers
      dropout: optional float value in range [0, 1] stating dropout probability for layers, None for no dropout
      bias: boolean stating if convolution layers should have a bias component
class_docstr_tok: ["Defines","a","critic","network","from","Classifier","with","a","single","output","value","and","no","final","activation",".","The","final","layer","is","`","nn.Flatten","`","instead","of","`","nn.Linear","`",",","the","final","result","is","computed","as","the","mean","over","the","first","dimension",".","This","is","meant","to","be","used","with","Wasserstein","GANs",".","Args",":","in_shape",":","tuple","of","integers","stating","the","dimension","of","the","input","tensor","(","minus","batch","dimension",")","channels",":","tuple","of","integers","stating","the","output","channels","of","each","convolutional","layer","strides",":","tuple","of","integers","stating","the","stride","(","downscale","factor",")","of","each","convolutional","layer","kernel_size",":","integer","or","tuple","of","integers","stating","size","of","convolutional","kernels","num_res_units",":","integer","stating","number","of","convolutions","in","residual","units",",","0","means","no","residual","units","act",":","name","or","type","defining","activation","layers","norm",":","name","or","type","defining","normalization","layers","dropout",":","optional","float","value","in","range","[","0",",","1","]","stating","dropout","probability","for","layers",",","None","for","no","dropout","bias",":","boolean","stating","if","convolution","layers","should","have","a","bias","component"]
code: def __init__(
      self,
      in_shape: Sequence[int],
      channels: Sequence[int],
      strides: Sequence[int],
      kernel_size: Sequence[int] | int = 3,
      num_res_units: int = 2,
      act=Act.PRELU,
      norm=Norm.INSTANCE,
      dropout: float | None = 0.25,
      bias: bool = True,
  ) -> None:
      super().__init__(
          in_shape,
          1,
          channels,
          strides,
          kernel_size,
          num_res_units,
          act,
          norm,
          dropout,
          bias,
          None,
      )
  
file_path: MONAI/monai/networks/nets/classifier.py
imports: from __future__ import annotations
  from collections.abc import Sequence
  import torch
  import torch.nn
  from monai.networks.layers.factories import Act, Norm, split_args
  from monai.networks.nets.regressor import Regressor
label_desc: Use image node_id 1 to create a new Critic object from inherited base classes: Classifier with example: obj = Critic(in_shape, channels, strides, kernel_size, num_res_units, act, norm, dropout, bias)