mindspore.ops.ChannelShuffle

View Source On Gitee
class mindspore.ops.ChannelShuffle(group)[source]

Divide the channels in a tensor of shape (,C,H,W) into g group and rearrange them as (,Cg,g,HW), while retaining the original tensor shape in the final output.

Warning

This is an experimental API that is subject to change or deletion.

Refer to mindspore.ops.channel_shuffle() for more detail.

Parameters

group (int) – Number of group to divide channels in.

Inputs:
  • x (Tensor) - Tensor to be divided, it has shape (,C,H,W), with float16, float32, int8, int16, int32, int64, uint8, uint16, uint32, uint64 data type.

Outputs:

A Tensor, has the same type as the x, and has the shape (,C,H,W).

Supported Platforms:

Ascend CPU

Examples

>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> group = 2
>>> x = Tensor(np.arange(1 * 4 * 2 * 2).reshape(1, 4, 2, 2).astype(np.int16))
>>> channel_shuffle_func = ops.ChannelShuffle(group)
>>> y = channel_shuffle_func(x)
>>> print(y)
[[[[ 0  1]
   [ 2  3]]
   [[ 8  9]
   [10 11]]
   [[ 4  5]
   [ 6  7]]
   [[12 13]
   [14 15]]]]