code: def forward(self, x: Tensor) -> Tensor:
      if self.with_conv:
          pad = (0, 1, 0, 1)
          x = F.pad(x, pad, mode="constant", value=0)
          x = self.conv(x)
      else:
          x = F.avg_pool2d(x, kernel_size=2, stride=2)
      return x
  
imports: import logging
  from typing import Optional, Sequence
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from torch import Tensor
  from neuralcompression.layers import XCA, ChannelNorm2D
  from .._outputs._vqvae_autoencoder_output import VqVaeAutoencoderOutput
label_desc: Use image node_id 2 for calling the _Downsample obj's underlying member method code with example usage: obj.forward(x) and returns: x