class_docstr: Generate random color jiter parameters for a batch of images following Pil.
  
  This implementation is for maintaining compatibility with torchvision. It does not
  follow the color theory and is not be actively maintained. Prefer using
  :func:`kornia.augmentation.ColorJiggleGenerator`
  
  Args:
      brightness: The brightness factor to apply.
      contrast: The contrast factor to apply.
      saturation: The saturation factor to apply.
      hue: The hue factor to apply.
  
  Returns:
      A dict of parameters to be passed for transformation.
          - brightness_factor: element-wise brightness factors with a shape of (B,).
          - contrast_factor: element-wise contrast factors with a shape of (B,).
          - hue_factor: element-wise hue factors with a shape of (B,).
          - saturation_factor: element-wise saturation factors with a shape of (B,).
          - order: applying orders of the color adjustments with a shape of (4). In which,
              0 is brightness adjustment; 1 is contrast adjustment;
              2 is saturation adjustment; 3 is hue adjustment.
  
  Note:
      The generated random numbers are not reproducible across different devices and dtypes. By default,
      the parameters will be generated on CPU in float32. This can be changed by calling
      ``self.set_rng_device_and_dtype(device="cuda", dtype=torch.float64)``.
class_docstr_tok: ["Generate","random","color","jiter","parameters","for","a","batch","of","images","following","Pil",".","This","implementation","is","for","maintaining","compatibility","with","torchvision",".","It","does","not","follow","the","color","theory","and","is","not","be","actively","maintained",".","Prefer","using",":","func",":","`","kornia.augmentation.ColorJiggleGenerator","`","Args",":","brightness",":","The","brightness","factor","to","apply",".","contrast",":","The","contrast","factor","to","apply",".","saturation",":","The","saturation","factor","to","apply",".","hue",":","The","hue","factor","to","apply",".","Returns",":","A","dict","of","parameters","to","be","passed","for","transformation",".","-","brightness_factor",":","element-wise","brightness","factors","with","a","shape","of","(","B",",",")",".","-","contrast_factor",":","element-wise","contrast","factors","with","a","shape","of","(","B",",",")",".","-","hue_factor",":","element-wise","hue","factors","with","a","shape","of","(","B",",",")",".","-","saturation_factor",":","element-wise","saturation","factors","with","a","shape","of","(","B",",",")",".","-","order",":","applying","orders","of","the","color","adjustments","with","a","shape","of","(","4",")",".","In","which",",","0","is","brightness","adjustment",";","1","is","contrast","adjustment",";","2","is","saturation","adjustment",";","3","is","hue","adjustment",".","Note",":","The","generated","random","numbers","are","not","reproducible","across","different","devices","and","dtypes",".","By","default",",","the","parameters","will","be","generated","on","CPU","in","float32",".","This","can","be","changed","by","calling","``","self.set_rng_device_and_dtype","(","device=","''","cuda","''",",","dtype=torch.float64",")","``","."]
code: def forward(
      self, batch_shape: Tuple[int, ...], same_on_batch: bool = False
  ) -> Dict[str, Tensor]:
      batch_size = batch_shape[0]
      _common_param_check(batch_size, same_on_batch)
      _device, _dtype = _extract_device_dtype(
          [self.brightness, self.contrast, self.hue, self.saturation]
      )
      brightness_factor = _adapted_rsampling(
          (batch_size,), self.brightness_sampler, same_on_batch
      )
      contrast_factor = _adapted_rsampling(
          (batch_size,), self.contrast_sampler, same_on_batch
      )
      hue_factor = _adapted_rsampling(
          (batch_size,), self.hue_sampler, same_on_batch
      )
      saturation_factor = _adapted_rsampling(
          (batch_size,), self.saturation_sampler, same_on_batch
      )
      return {
          "brightness_factor": brightness_factor.to(
              device=_device, dtype=_dtype
          ),
          "contrast_factor": contrast_factor.to(
              device=_device, dtype=_dtype
          ),
          "hue_factor": hue_factor.to(device=_device, dtype=_dtype),
          "saturation_factor": saturation_factor.to(
              device=_device, dtype=_dtype
          ),
          "order": self.randperm(4)
          .to(device=_device, dtype=_dtype)
          .long(),
      }
  
file_path: kornia/kornia/augmentation/random_generator/_2d/color_jitter.py
imports: from functools import partial
  from typing import Dict, List, Tuple, Union
  import torch
  from kornia.augmentation.random_generator.base import RandomGeneratorBase, UniformDistribution
  from kornia.augmentation.utils import _adapted_rsampling, _common_param_check, _joint_range_check, _range_bound
  from kornia.core import Tensor
  from kornia.utils.helpers import _extract_device_dtype
label_desc: Use image node_id 4 for calling the ColorJitterGenerator obj's underlying member method code with example usage: obj.forward(batch_shape, same_on_batch) and returns: dict