``reduction!='none'`` returns float scalar tensor with average MSSSIM value over sample else returns tensor of shape ``(N,)`` with SSIM values per sample Args: gaussian_kernel: If ``True`` (default), a gaussian kernel is used, if false a uniform kernel is used kernel_size: size of the gaussian kernel sigma: Standard deviation of the gaussian kernel reduction: a method to reduce metric score over labels. - ``'elementwise_mean'``: takes the mean - ``'sum'``: takes the sum - ``'none'`` or ``None``: no reduction will be applied data_range: the range of the data. If None, it is determined from the data (max - min). If a tuple is provided then the range is calculated as the difference and input is clamped between the values. The ``data_range`` must be given when ``dim`` is not None. k1: Parameter of structural similarity index measure. k2: Parameter of structural similarity index measure. betas: Exponent parameters for individual similarities and contrastive sensitivities returned by different image resolutions. normalize: When MultiScaleStructuralSimilarityIndexMeasure loss is used for training, it is desirable to use normalizes to improve the training stability. This `normalize` argument is out of scope of the original implementation [1], and it is adapted from https://github.com/jorge-pessoa/pytorch-msssim instead. kwargs: Additional keyword arguments, see :ref:`Metric kwargs` for more info. Return: Tensor with Multi-Scale SSIM score Raises: ValueError: If ``kernel_size`` is not an int or a Sequence of ints with size 2 or 3. ValueError: If ``betas`` is not a tuple of floats with length 2. ValueError: If ``normalize`` is neither `None`, `ReLU` nor `simple`. Example: >>> from torchmetrics.image import MultiScaleStructuralSimilarityIndexMeasure >>> import torch >>> gen = torch.manual_seed(42) >>> preds = torch.rand([3, 3, 256, 256], generator=torch.manual_seed(42)) >>> target = preds * 0.75 >>> ms_ssim = MultiScaleStructuralSimilarityIndexMeasure(data_range=1.0) >>> ms_ssim(preds, target) tensor(0.9627) Tr