code: def hls_to_rgb(image: Tensor) -> Tensor:
      r"""Convert a HLS image to RGB.
  
      The image data is assumed to be in the range of (0, 1).
  
      Args:
          image: HLS image to be converted to RGB with shape :math:`(*, 3, H, W)`.
  
      Returns:
          RGB version of the image with shape :math:`(*, 3, H, W)`.
  
      Example:
          >>> input = torch.rand(2, 3, 4, 5)
          >>> output = hls_to_rgb(input)  # 2x3x4x5
      """
      if not isinstance(image, Tensor):
          raise TypeError(
              f"Input type is not a Tensor. Got {type(image)}"
          )
  
      if len(image.shape) < 3 or image.shape[-3] != 3:
          raise ValueError(
              f"Input size must have a shape of (*, 3, H, W). Got {image.shape}"
          )
  
      _HLS2RGB = tensor(
          [[[0.0]], [[8.0]], [[4.0]]],
          device=image.device,
          dtype=image.dtype,
      )  # 3x1x1
  
      im: Tensor = image.unsqueeze(-4)
      h_ch: Tensor = im[..., 0, :, :]
      l_ch: Tensor = im[..., 1, :, :]
      s_ch: Tensor = im[..., 2, :, :]
      h_ch = h_ch * (6 / math.pi)  # h * 360 / (2 * math.pi) / 30
      a = s_ch * torch.min(l_ch, 1.0 - l_ch)
  
      # kr = (0 + h) % 12
      # kg = (8 + h) % 12
      # kb = (4 + h) % 12
      k: Tensor = (h_ch + _HLS2RGB) % 12
  
      # l - a * max(min(min(k - 3.0, 9.0 - k), 1), -1)
      mink = torch.min(k - 3.0, 9.0 - k)
      return torch.addcmul(
          l_ch, a, mink.clamp_(min=-1.0, max=1.0), value=-1
      )
  
file_path: kornia/kornia/color/hls.py
imports: import math
  from typing import Tuple
  import torch
  from kornia.core import Module, Tensor, stack, tensor, where
label_desc: Use image node_id 2 for calling a global function with example usage: hls_to_rgb(image) and returns: torch