code: def rgb_to_linear_rgb(image: torch.Tensor) -> torch.Tensor:
      r"""Convert an sRGB image to linear RGB. Used in colorspace conversions.
  
      .. image:: _static/img/rgb_to_linear_rgb.png
  
      Args:
          image: sRGB Image to be converted to linear RGB of shape :math:`(*,3,H,W)`.
  
      Returns:
          linear RGB version of the image with shape of :math:`(*,3,H,W)`.
  
      Example:
          >>> input = torch.rand(2, 3, 4, 5)
          >>> output = rgb_to_linear_rgb(input) # 2x3x4x5
      """
      if not isinstance(image, torch.Tensor):
          raise TypeError(
              f"Input type is not a torch.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}"
          )
  
      lin_rgb: torch.Tensor = torch.where(
          image > 0.04045,
          torch.pow(((image + 0.055) / 1.055), 2.4),
          image / 12.92,
      )
  
      return lin_rgb
  
imports: from typing import Union, cast
  import torch
  from torch import nn
label_desc: Use image node_id 7 for calling a global function with example usage: rgb_to_linear_rgb(image) and returns: lin_rgb