code: def __call__(self, *inputs):
      pval = random.random()
      if pval < self.p:
          outputs = Grayscale(keep_channels=True)(*inputs)
      else:
          outputs = inputs
      return outputs
  
imports: import random
  import torch
  from torchvision.transforms.functional import to_tensor
  import numpy
  from ..utils import th_random_choice
label_desc: Use image node_id 2 for calling the RandomGrayscale obj's underlying member method code with example usage: obj.__call__() and returns: outputs