code: def make_samplers(
      self, device: torch.device, dtype: torch.dtype
  ) -> None:
      number_of_drops = _range_bound(
          self.number_of_drops,
          "number_of_drops",
          center=self.number_of_drops[0] / 2
          + self.number_of_drops[1] / 2,
          bounds=(self.number_of_drops[0], self.number_of_drops[1] + 1),
      ).to(device)
      drop_height = _range_bound(
          self.drop_height,
          "drop_height",
          center=self.drop_height[0] / 2 + self.drop_height[1] / 2,
          bounds=(self.drop_height[0], self.drop_height[1] + 1),
      ).to(device)
      drop_width = _range_bound(
          self.drop_width,
          "drop_width",
          center=self.drop_width[0] / 2 + self.drop_width[1] / 2,
          bounds=(self.drop_width[0], self.drop_width[1] + 1),
      ).to(device)
  
      drop_coordinates = _range_bound(
          (0, 1), "drops_coordinate", center=0.5, bounds=(0, 1)
      ).to(device=device, dtype=dtype)
      self.number_of_drops_sampler = UniformDistribution(
          number_of_drops[0], number_of_drops[1], validate_args=False
      )
      self.drop_height_sampler = UniformDistribution(
          drop_height[0], drop_height[1], validate_args=False
      )
      self.drop_width_sampler = UniformDistribution(
          drop_width[0], drop_width[1], validate_args=False
      )
      self.coordinates_sampler = UniformDistribution(
          drop_coordinates[0], drop_coordinates[1], validate_args=False
      )
  
file_path: kornia/kornia/augmentation/random_generator/_2d/random_rain.py
imports: from __future__ import annotations
  import torch
  from kornia.augmentation.random_generator.base import RandomGeneratorBase, UniformDistribution
  from kornia.augmentation.utils import _adapted_rsampling, _common_param_check, _range_bound
  from kornia.core import Tensor
  from kornia.utils import _extract_device_dtype
label_desc: Use image node_id 3 for calling the RainGenerator obj's underlying member method code with example usage: obj.make_samplers(device, dtype) without return types