def __init__(self, quantiles: Optional[list[float]] = None):
        """
        The "likelihood" corresponding to quantile regression.
        It uses the Quantile Loss Metric for custom quantiles centered around q=0.5.

        This class can be used as any other Likelihood objects even though it is not
        representing the likelihood of a well defined distribution.

        Parameters
        ----------
        quantiles
            list of quantiles
        """
        if quantiles is None:
            self.quantiles = [
                0.01,
                0.05,
                0.1,
                0.15,
                0.2,
                0.25,
                0.3,
                0.4,
                0.5,
                0.6,
                0.7,
                0.75,
                0.8,
                0.85,
                0.9,
                0.95,
                0.99,
            ]
        else:
            self.quantiles = sorted(quantiles)
        _check_quantiles(self.quantiles)
        self._median_idx = self.quantiles.index(0.5)
        self.first = True
        self.quantiles_tensor = None

        super().__init__(
            likelihood_type=LikelihoodType.Quantile,
            parameter_names=quantile_names(self.quantiles),
            prior_strength=1.0,
        )
        # ignore additional attributes
        self.ignore_attrs_equality += ["_median_idx", "first", "quantiles_tensor"]

        The "likelihood" corresponding to quantile regression.
        It uses the Quantile Loss Metric for custom quantiles centered around q=0.5.

        This class can be used as any other Likelihood objects even though it is not
        representing the likelihood of a well defined distribution.

        Parameters
        ----------
        quantiles
            list of quantiles
        
darts/utils/likelihood_models/torch.py