class_docstr: Denormalize a tensor image with mean and standard deviation.
  
  .. math::
      \text{input[channel] = (input[channel] * std[channel]) + mean[channel]}
  
  Where `mean` is :math:`(M_1, ..., M_n)` and `std` :math:`(S_1, ..., S_n)` for `n` channels,
  
  Args:
      mean: Mean for each channel.
      std: Standard deviations for each channel.
  
  Shape:
      - Input: Image tensor of size :math:`(*, C, ...)`.
      - Output: Denormalised tensor with same size as input :math:`(*, C, ...)`.
  
  Examples:
      >>> x = torch.rand(1, 4, 3, 3)
      >>> out = Denormalize(0.0, 255.)(x)
      >>> out.shape
      torch.Size([1, 4, 3, 3])
  
      >>> x = torch.rand(1, 4, 3, 3, 3)
      >>> mean = torch.zeros(1, 4)
      >>> std = 255. * torch.ones(1, 4)
      >>> out = Denormalize(mean, std)(x)
      >>> out.shape
      torch.Size([1, 4, 3, 3, 3])
code: def forward(self, input: torch.Tensor) -> torch.Tensor:
      return denormalize(input, self.mean, self.std)
  
file_path: kornia/kornia/enhance/normalize.py
imports: from typing import List, Tuple, Union
  import torch
  from torch import nn
label_desc: Use image node_id 2 for calling the Denormalize obj's underlying member method code with example usage: obj.forward(input) and returns: denormalize