class_docstr: Normalize the input image.
  
  Args:
      mean(list): Mean value for normalization.
      std(list): Standard deviation for normalization.
      channel_first(bool): im channel firest or last
class_docstr_tok: ["Normalize","the","input","image",".","Args",":","mean","(","list",")",":","Mean","value","for","normalization",".","std","(","list",")",":","Standard","deviation","for","normalization",".","channel_first","(","bool",")",":","im","channel","firest","or","last"]
code: def __init__(
      self,
      mean: list = [0.5, 0.5, 0.5],
      std: list = [0.5, 0.5, 0.5],
      channel_first: bool = False,
  ):
      self.mean = mean
      self.std = std
      self.channel_first = channel_first
      if not (
          isinstance(self.mean, list) and isinstance(self.std, list)
      ):
          raise ValueError("{}: input type is invalid.".format(self))
      from functools import reduce
  
      if reduce(lambda x, y: x * y, self.std) == 0:
          raise ValueError("{}: std is invalid!".format(self))
  
imports: import random
  from typing import Callable, Union, List, Tuple
  import cv2
  import PIL
  import numpy
  import paddlehub.vision.functional
label_desc: Use image node_id 1 to create a new Normalize object  with example: obj = Normalize(mean, std, channel_first)