code: def pixel_unshuffle(net: Tensor, scale: int) -> Tensor:
      b, c, h, w = net.shape
      out_channel = c * (scale**2)
      assert h % scale == 0 and w % scale == 0
      h = h // scale
      w = w // scale
      net = net.view(b, c, h, scale, w, scale)
      net = (
          net.permute(0, 1, 3, 5, 2, 4)
          .contiguous()
          .view(b, out_channel, h, w)
      )
      return net
  
file_path: carefree-learn/cflearn/models/cv/translator/rrdb.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from torch import Tensor
  from typing import Optional
  from ....schema import IDLModel
label_desc: Use image node_id 1 for calling a global function with example usage: pixel_unshuffle(net, scale) and returns: net