def __init__(self, prior_lambda=None, prior_strength=1.0):
        """
        Poisson distribution. Can typically be used to model event counts during time intervals, when the events
        happen independently of the time since the last event.

        https://en.wikipedia.org/wiki/Poisson_distribution

        - Univariate discrete distribution
        - Support: :math:`\\mathbb{N}_0` (natural numbers including 0).
        - Parameter: rate :math:`\\lambda > 0`.

        Parameters
        ----------
        prior_lambda
            rate :math:`\\lambda` of the prior Poisson distribution (default: None)
        prior_strength
            strength of the loss regularisation induced by the prior
        """
        self.prior_lambda = prior_lambda
        _check_strict_positive(self.prior_lambda, "lambda")

        self.nllloss = nn.PoissonNLLLoss(log_input=False, full=True, reduction="none")
        self.softplus = nn.Softplus()
        super().__init__(
            likelihood_type=LikelihoodType.Poisson,
            parameter_names=["lambda"],
            prior_strength=prior_strength,
        )

        Poisson distribution. Can typically be used to model event counts during time intervals, when the events
        happen independently of the time since the last event.

        https://en.wikipedia.org/wiki/Poisson_distribution

        - Univariate discrete distribution
        - Support: :math:`\mathbb{N}_0` (natural numbers including 0).
        - Parameter: rate :math:`\lambda > 0`.

        Parameters
        ----------
        prior_lambda
            rate :math:`\lambda` of the prior Poisson distribution (default: None)
        prior_strength
            strength of the loss regularisation induced by the prior
        
darts/utils/likelihood_models/torch.py