[docs]classChannelShuffle(Module):r"""Divides and rearranges the channels in a tensor. This operation divides the channels in a tensor of shape :math:`(N, C, *)` into g groups as :math:`(N, \frac{C}{g}, g, *)` and shuffles them, while retaining the original tensor shape in the final output. Args: groups (int): number of groups to divide channels in. Examples:: >>> 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.]]]]) """__constants__=["groups"]groups:intdef__init__(self,groups:int)->None:super().__init__()self.groups=groupsdefforward(self,input:Tensor)->Tensor:returnF.channel_shuffle(input,self.groups)defextra_repr(self)->str:returnf"groups={self.groups}"
Docs
Access comprehensive developer documentation for PyTorch
To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.