class_docstr: Get hint and mask images for colorization.
  
  This method is prepared for user guided colorization tasks. Take the original RGB images as imput,
  we will obtain the local hints and correspoding mask to guid colorization process.
  
  Args:
     percent(float): Probability for ignoring hint in an iteration.
     num_points(int): Number of selected hints in an iteration.
     samp(str): Sample method, default is normal.
     use_avg(bool): Whether to use mean in selected hint area.
  
  Return:
      hint(np.ndarray): hint images
      mask(np.ndarray): mask images
code: def __call__(
      self, data: np.ndarray, hint: np.ndarray, mask: np.ndarray
  ):
      sample_Ps = [1, 2, 3, 4, 5, 6, 7, 8, 9]
      self.data = data
      self.hint = hint
      self.mask = mask
      N, C, H, W = data.shape
      for nn in range(N):
          pp = 0
          cont_cond = True
          while cont_cond:
              if self.num_points is None:  # draw from geometric
                  # embed()
                  cont_cond = np.random.rand() < (1 - self.percent)
              else:  # add certain number of points
                  cont_cond = pp < self.num_points
              if not cont_cond:  # skip out of loop if condition not met
                  continue
              P = np.random.choice(sample_Ps)  # patch size
              # sample location
              if self.samp == "normal":  # geometric distribution
                  h = int(
                      np.clip(
                          np.random.normal(
                              (H - P + 1) / 2.0, (H - P + 1) / 4.0
                          ),
                          0,
                          H - P,
                      )
                  )
                  w = int(
                      np.clip(
                          np.random.normal(
                              (W - P + 1) / 2.0, (W - P + 1) / 4.0
                          ),
                          0,
                          W - P,
                      )
                  )
              else:  # uniform distribution
                  h = np.random.randint(H - P + 1)
                  w = np.random.randint(W - P + 1)
              # add color point
              if self.use_avg:
                  # embed()
                  hint[nn, :, h : h + P, w : w + P] = np.mean(
                      np.mean(
                          data[nn, :, h : h + P, w : w + P],
                          axis=2,
                          keepdims=True,
                      ),
                      axis=1,
                      keepdims=True,
                  ).reshape(1, C, 1, 1)
              else:
                  hint[nn, :, h : h + P, w : w + P] = data[
                      nn, :, h : h + P, w : w + P
                  ]
              mask[nn, :, h : h + P, w : w + P] = 1
              # increment counter
              pp += 1
  
      mask -= 0.5
      return hint, mask
  
imports: import paddle
  import numpy
label_desc: Use image node_id 2 for calling the ColorizeHint obj's underlying member method code with example usage: obj.__call__(data, hint, mask) and returns: hint,  mask