code: def downsample_bottleneck(
      x, output_channels, dim="2d", stride=1, scope="h"
  ):
      """Downsamples 'x' by `stride` using a 1x1 convolution filter.
  
      Args:
        x: input tensor of size [N, H, W, C]
        output_channels: Desired number of output channels.
        dim: '2d' if 2-dimensional, '3d' if 3-dimensional.
        stride: What stride to use. Usually 1 or 2.
        scope: Optional variable scope.
  
      Returns:
        A downsampled tensor of size [N, H/2, W/2, output_channels] if stride
        is 2, else returns a tensor of size [N, H, W, output_channels] if
        stride is 1.
      """
      conv = CONFIG[dim]["conv"]
      with tf.variable_scope(scope):
          x = conv(
              x,
              output_channels,
              1,
              strides=stride,
              padding="SAME",
              activation=None,
          )
          return x
  
imports: import functools
  from tensor2tensor.layers import common_hparams
  from tensor2tensor.utils import contrib
  from tensor2tensor.utils import registry
  from tensor2tensor.utils import t2t_model
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
label_desc: Use image node_id 3 for calling a global function with example usage: downsample_bottleneck(x, output_channels, dim, stride, scope) and returns: x