code: def channel_shuffle(x, groups):
      x_shape = paddle.shape(x)
      batch_size, height, width = x_shape[0], x_shape[2], x_shape[3]
      num_channels = x.shape[1]
      channels_per_group = num_channels // groups
  
      # reshape
      x = paddle.reshape(
          x=x,
          shape=[batch_size, groups, channels_per_group, height, width],
      )
  
      # transpose
      x = paddle.transpose(x=x, perm=[0, 2, 1, 3, 4])
  
      # flatten
      x = paddle.reshape(
          x=x, shape=[batch_size, num_channels, height, width]
      )
  
      return x
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.models import layers
  from paddleseg.cvlibs import manager
  from paddleseg.utils import utils
label_desc: Use image node_id 1 for calling a global function with example usage: channel_shuffle(x, groups) and returns: x