class_docstr: Down-sampling the feature by 2 using stride.
  The length along each spatial dimension must be a multiple of 2.
class_docstr_tok: ["Down-sampling","the","feature","by","2","using","stride",".","The","length","along","each","spatial","dimension","must","be","a","multiple","of","2","."]
docstr: Args:
      in_channel: number of input channels
      out_channel: number of output channels.
      spatial_dims: number of spatial dimensions.
      act_name: activation layer type and arguments.
      norm_name: feature normalization type and arguments.
docstr_tok: ["Args",":","in_channel",":","number","of","input","channels","out_channel",":","number","of","output","channels",".","spatial_dims",":","number","of","spatial","dimensions",".","act_name",":","activation","layer","type","and","arguments",".","norm_name",":","feature","normalization","type","and","arguments","."]
code: def __init__(
      self,
      in_channel: int,
      out_channel: int,
      spatial_dims: int = 3,
      act_name: tuple | str = "RELU",
      norm_name: tuple | str = ("INSTANCE", {"affine": True}),
  ):
      """
      Args:
          in_channel: number of input channels
          out_channel: number of output channels.
          spatial_dims: number of spatial dimensions.
          act_name: activation layer type and arguments.
          norm_name: feature normalization type and arguments.
      """
      super().__init__()
      self._in_channel = in_channel
      self._out_channel = out_channel
      self._spatial_dims = spatial_dims
      if self._spatial_dims not in (2, 3):
          raise ValueError("spatial_dims must be 2 or 3.")
  
      conv_type = Conv[Conv.CONV, self._spatial_dims]
  
      self.act = get_act_layer(name=act_name)
      self.conv_1 = conv_type(
          in_channels=self._in_channel,
          out_channels=self._out_channel // 2,
          kernel_size=1,
          stride=2,
          padding=0,
          groups=1,
          bias=False,
          dilation=1,
      )
      self.conv_2 = conv_type(
          in_channels=self._in_channel,
          out_channels=self._out_channel - self._out_channel // 2,
          kernel_size=1,
          stride=2,
          padding=0,
          groups=1,
          bias=False,
          dilation=1,
      )
      self.norm = get_norm_layer(
          name=norm_name,
          spatial_dims=self._spatial_dims,
          channels=self._out_channel,
      )
  
file_path: MONAI/monai/networks/blocks/dints_block.py
imports: from __future__ import annotations
  import torch
  from monai.networks.layers.factories import Conv
  from monai.networks.layers.utils import get_act_layer, get_norm_layer
label_desc: Use image node_id 1 to create a new FactorizedReduceBlock object from inherited base classes: torch.nn with example: obj = FactorizedReduceBlock(in_channel, out_channel, spatial_dims, act_name, norm_name)