mindspore.ops.ChannelShuffle

class mindspore.ops.ChannelShuffle(group)[源代码]

将shape为 \((*, C, H, W)\) 的Tensor的通道划分成 \(g\) 组,并按如下方式重新排列 \((*, \frac C g, g, H*W)\) ,同时保持原始Tensor的shape不变。

警告

这是一个实验性API,后续可能修改或删除。

更多详情请查看: mindspore.ops.channel_shuffle

参数:
  • group (int) - 通道划分数目。

输入:
  • x (Tensor) - 被划分输入Tensor。shape为 \((*, C, H, W)\) ,数据类型为float16, float32、int8、int16、int32、int64、uint8、uint16、uint32或uint64。

输出:

Tensor,数据类型与 x 相同,shape为 \((*, C, H, W)\)

支持平台:

Ascend CPU

样例:

>>> 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]]]]