快捷方式

ChannelShuffle

class torch.nn.ChannelShuffle(groups)[source]

分割并重新排列张量中的通道。

此操作将形状为 (N,C,)(N, C, *) 的张量中的通道分成 g 个组,如 (N,Cg,g,)(N, \frac{C}{g}, g, *),并对其进行混洗,同时在最终输出中保留原始张量形状。

参数

groups (int) – 要将通道分成多少组。

示例

>>> channel_shuffle = nn.ChannelShuffle(2)
>>> input = torch.arange(1, 17, dtype=torch.float32).view(1, 4, 2, 2)
>>> input
tensor([[[[ 1.,  2.],
          [ 3.,  4.]],
         [[ 5.,  6.],
          [ 7.,  8.]],
         [[ 9., 10.],
          [11., 12.]],
         [[13., 14.],
          [15., 16.]]]])
>>> output = channel_shuffle(input)
>>> output
tensor([[[[ 1.,  2.],
          [ 3.,  4.]],
         [[ 9., 10.],
          [11., 12.]],
         [[ 5.,  6.],
          [ 7.,  8.]],
         [[13., 14.],
          [15., 16.]]]])

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源