class_docstr: A 3D convolutional downsampling block.
class_docstr_tok: ["A","3D","convolutional","downsampling","block","."]
code: def __init__(self, in_channels, out_channels, norm=nn.BatchNorm3d):
      super().__init__()
  
      self.net = [
          nn.ReplicationPad3d(1),
          nn.Conv3d(
              in_channels,
              out_channels,
              kernel_size=4,
              padding=0,
              stride=2,
              bias=False if norm is not None else True,
          ),
      ]
  
      if norm is not None:
          self.net += [norm(out_channels, affine=True)]
  
      self.net += [nn.LeakyReLU(0.2, True)]
      self.net = nn.Sequential(*self.net)
  
imports: import torch
  import torch.nn
  import torchvision.utils
  from torch.nn import functional
label_desc: Use image node_id 1 to create a new DownBlock3D object from inherited base classes: nn with example: obj = DownBlock3D(in_channels, out_channels, norm)