class_docstr: Get parameters for ```erasing``` transformation for erasing transform.
  
  Args:
      scale (Tensor): range of size of the origin size cropped. Shape (2).
      ratio (Tensor): range of aspect ratio of the origin aspect ratio cropped. Shape (2).
      value (float): value to be filled in the erased area.
  
  Returns:
      A dict of parameters to be passed for transformation.
          - widths (Tensor): element-wise erasing widths with a shape of (B,).
          - heights (Tensor): element-wise erasing heights with a shape of (B,).
          - xs (Tensor): element-wise erasing x coordinates with a shape of (B,).
          - ys (Tensor): element-wise erasing y coordinates with a shape of (B,).
          - values (Tensor): element-wise filling values with a shape of (B,).
  
  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: ["Get","parameters","for","``","`","erasing","``","`","transformation","for","erasing","transform",".","Args",":","scale","(","Tensor",")",":","range","of","size","of","the","origin","size","cropped",".","Shape","(","2",")",".","ratio","(","Tensor",")",":","range","of","aspect","ratio","of","the","origin","aspect","ratio","cropped",".","Shape","(","2",")",".","value","(","float",")",":","value","to","be","filled","in","the","erased","area",".","Returns",":","A","dict","of","parameters","to","be","passed","for","transformation",".","-","widths","(","Tensor",")",":","element-wise","erasing","widths","with","a","shape","of","(","B",",",")",".","-","heights","(","Tensor",")",":","element-wise","erasing","heights","with","a","shape","of","(","B",",",")",".","-","xs","(","Tensor",")",":","element-wise","erasing","x","coordinates","with","a","shape","of","(","B",",",")",".","-","ys","(","Tensor",")",":","element-wise","erasing","y","coordinates","with","a","shape","of","(","B",",",")",".","-","values","(","Tensor",")",":","element-wise","filling","values","with","a","shape","of","(","B",",",")",".","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 make_samplers(
      self, device: torch.device, dtype: torch.dtype
  ) -> None:
      scale = as_tensor(self.scale, device=device, dtype=dtype)
      ratio = as_tensor(self.ratio, device=device, dtype=dtype)
  
      if not (
          isinstance(self.value, (int, float))
          and self.value >= 0
          and self.value <= 1
      ):
          raise AssertionError(
              f"'value' must be a number between 0 - 1. Got {self.value}."
          )
      _joint_range_check(scale, "scale", bounds=(0, float("inf")))
      _joint_range_check(ratio, "ratio", bounds=(0, float("inf")))
  
      self.scale_sampler = UniformDistribution(
          scale[0], scale[1], validate_args=False
      )
  
      if ratio[0] < 1.0 and ratio[1] > 1.0:
          self.ratio_sampler1 = UniformDistribution(
              ratio[0], 1, validate_args=False
          )
          self.ratio_sampler2 = UniformDistribution(
              1, ratio[1], validate_args=False
          )
          self.index_sampler = UniformDistribution(
              tensor(0, device=device, dtype=dtype),
              tensor(1, device=device, dtype=dtype),
              validate_args=False,
          )
      else:
          self.ratio_sampler = UniformDistribution(
              ratio[0], ratio[1], validate_args=False
          )
      self.uniform_sampler = UniformDistribution(
          tensor(0, device=device, dtype=dtype),
          tensor(1, device=device, dtype=dtype),
          validate_args=False,
      )
  
file_path: kornia/kornia/augmentation/random_generator/_2d/rectangle_earase.py
imports: from typing import Dict, 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
  from kornia.core import Tensor, as_tensor, tensor, where
  from kornia.utils.helpers import _extract_device_dtype
label_desc: Use image node_id 3 for calling the RectangleEraseGenerator obj's underlying member method code with example usage: obj.make_samplers(device, dtype) without return types