class_docstr: SegResNetDS based on `3D MRI brain tumor segmentation using autoencoder regularization
  <https://arxiv.org/pdf/1810.11654.pdf>`_.
  It is similar to https://docs.monai.io/en/stable/networks.html#segresnet, with several
  improvements including deep supervision and non-isotropic kernel support.
  
  Args:
      spatial_dims: spatial dimension of the input data. Defaults to 3.
      init_filters: number of output channels for initial convolution layer. Defaults to 32.
      in_channels: number of input channels for the network. Defaults to 1.
      out_channels: number of output channels for the network. Defaults to 2.
      act: activation type and arguments. Defaults to ``RELU``.
      norm: feature normalization type and arguments. Defaults to ``BATCH``.
      blocks_down: number of downsample blocks in each layer. Defaults to ``[1,2,2,4]``.
      blocks_up: number of upsample blocks (optional).
      dsdepth: number of levels for deep supervision. This will be the length of the list of outputs at each scale level.
               At dsdepth==1,only a single output is returned.
      preprocess: optional callable function to apply before the model's forward pass
      resolution: optional input image resolution. When provided, the network will first use non-isotropic kernels to bring
                  image spacing into an approximately isotropic space.
                  Otherwise, by default, the kernel size and downsampling is always isotropic.
class_docstr_tok: ["SegResNetDS","based","on","`","3D","MRI","brain","tumor","segmentation","using","autoencoder","regularization","<","https",":","\/\/arxiv.org\/pdf\/1810.11654.pdf",">","`","_",".","It","is","similar","to","https",":","\/\/docs.monai.io\/en\/stable\/networks.html","#","segresnet",",","with","several","improvements","including","deep","supervision","and","non-isotropic","kernel","support",".","Args",":","spatial_dims",":","spatial","dimension","of","the","input","data",".","Defaults","to","3.","init_filters",":","number","of","output","channels","for","initial","convolution","layer",".","Defaults","to","32.","in_channels",":","number","of","input","channels","for","the","network",".","Defaults","to","1.","out_channels",":","number","of","output","channels","for","the","network",".","Defaults","to","2.","act",":","activation","type","and","arguments",".","Defaults","to","``","RELU","``",".","norm",":","feature","normalization","type","and","arguments",".","Defaults","to","``","BATCH","``",".","blocks_down",":","number","of","downsample","blocks","in","each","layer",".","Defaults","to","``","[","1,2,2,4","]","``",".","blocks_up",":","number","of","upsample","blocks","(","optional",")",".","dsdepth",":","number","of","levels","for","deep","supervision",".","This","will","be","the","length","of","the","list","of","outputs","at","each","scale","level",".","At","dsdepth==1",",","only","a","single","output","is","returned",".","preprocess",":","optional","callable","function","to","apply","before","the","model","'s","forward","pass","resolution",":","optional","input","image","resolution",".","When","provided",",","the","network","will","first","use","non-isotropic","kernels","to","bring","image","spacing","into","an","approximately","isotropic","space",".","Otherwise",",","by","default",",","the","kernel","size","and","downsampling","is","always","isotropic","."]
code: def forward(
      self, x: torch.Tensor
  ) -> Union[None, torch.Tensor, list[torch.Tensor]]:
      return self._forward(x)
  
imports: from __future__ import annotations
  from collections.abc import Callable
  from typing import Union
  import numpy
  import torch
  import torch.nn
  from monai.networks.blocks.upsample import UpSample
  from monai.networks.layers.factories import Act, Conv, Norm, split_args
  from monai.networks.layers.utils import get_act_layer, get_norm_layer
  from monai.utils import UpsampleMode, has_option
label_desc: Use image node_id 5 for calling the SegResNetDS obj's underlying member method code with example usage: obj.forward(x) and returns: self