評價此頁

ChannelShuffle#

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

分割並重新排列張量中的通道。

此操作將形狀為 (N,C,)(N, C, *) 的張量中的通道劃分為 g 組,形如 (N,Cg,g,)(N, \frac{C}{g}, g, *) 並進行混洗(shuffle),同時保留最終輸出中的原始張量形狀。

引數

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.]]]])
extra_repr()[source]#

返回模組的額外表示。

返回型別

str

forward(input)[source]#

執行前向傳播。

返回型別

張量