code: def flip_cihp(tail_list):
      """
  
      :param tail_list: tail_list size is 1 x n_class x h x w
      :return:
      """
      # tail_list = tail_list[0]
      tail_list_rev = [None] * 20
      for xx in range(14):
          tail_list_rev[xx] = tail_list[xx].unsqueeze(0)
      tail_list_rev[14] = tail_list[15].unsqueeze(0)
      tail_list_rev[15] = tail_list[14].unsqueeze(0)
      tail_list_rev[16] = tail_list[17].unsqueeze(0)
      tail_list_rev[17] = tail_list[16].unsqueeze(0)
      tail_list_rev[18] = tail_list[19].unsqueeze(0)
      tail_list_rev[19] = tail_list[18].unsqueeze(0)
      return torch.cat(tail_list_rev, dim=0)
  
file_path: insightface/reconstruction/ostec/external/graphonomy/FaceHairMask/graphonomy_inference.py
imports: import cv2
  import torch
  import timeit
  import numpy
  from PIL import Image
  import torch.nn.functional
  from torch.autograd import Variable
  from torchvision import transforms
  from FaceHairMask import graph
  from FaceHairMask import graphonomy_process
label_desc: Use image node_id 4 for calling a global function with example usage: flip_cihp(tail_list) and returns: torch