Rate this Page

torch.native_channel_shuffle#

torch.native_channel_shuffle(input, groups) Tensor#

Native kernel level implementation of the channel_shuffle. This function might become private in future releases, use with caution.

Divide the channels in a tensor of shape (,C,H,W)(*, C , H, W) into g groups and rearrange them as (,Cg,g,H,W)(*, C \frac g, g, H, W), while keeping the original tensor shape.

See ChannelShuffle for details.

Parameters:
  • input (Tensor) – the input tensor

  • groups (int) – number of groups to divide channels in and rearrange.

Examples:

>>> input = torch.randn(1, 4, 2, 2)
>>> print(input)
[[[[1, 2],
   [3, 4]],
  [[5, 6],
   [7, 8]],
  [[9, 10],
   [11, 12]],
  [[13, 14],
   [15, 16]],
 ]]
>>> output = torch.nn.functional.native_channel_shuffle(input, 2)
>>> print(output)
[[[[1, 2],
   [3, 4]],
  [[9, 10],
   [11, 12]],
  [[5, 6],
   [7, 8]],
  [[13, 14],
   [15, 16]],
 ]]