mindspore.ops.channel_shuffle
- mindspore.ops.channel_shuffle(x, groups)[source]
Divide the channels in a tensor of shape \((*, C, H, W)\) into \(g\) groups and rearrange them as \((*, \frac{C}{g}, g, H*W)\), while keeping the original tensor shapes.
- Parameters
- Returns
A Tensor, has the same type as the x, and has the shape \((*, C, H, W)\).
- Raises
TypeError – If data type of x is not one of the following: float16, float32, int8, int16, int32, int64, uint8, uint16, uint32, uint64.
TypeError – If dim of x is < 4.
TypeError – If groups is not a positive number.
ValueError – If channel number of x is not divisible by groups.
- Supported Platforms:
Ascend
CPU
Examples
>>> import mindspore >>> 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)) >>> y = mindspore.ops.channel_shuffle(x, group) >>> print(y) [[[[ 0 1] [ 2 3]] [[ 8 9] [10 11]] [[ 4 5] [ 6 7]] [[12 13] [14 15]]]]