def __init__(self, prior_p=None, prior_strength=1.0):
        """
        Geometric distribution.

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

        - Univariate discrete distribution
        - Support: :math:`\\mathbb{N}_0` (natural numbers including 0).
        - Parameter: success probability :math:`p \\in (0, 1)`.

        Parameters
        ----------
        prior_p
            success probability :math:`p` of the prior geometric distribution (default: None)
        prior_strength
            strength of the loss regularisation induced by the prior
        """
        self.prior_p = prior_p
        _check_in_open_0_1_intvl(self.prior_p, "p")
        self.sigmoid = nn.Sigmoid()
        super().__init__(
            likelihood_type=LikelihoodType.Geometric,
            parameter_names=["p"],
            prior_strength=prior_strength,
        )

        Geometric distribution.

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

        - Univariate discrete distribution
        - Support: :math:`\mathbb{N}_0` (natural numbers including 0).
        - Parameter: success probability :math:`p \in (0, 1)`.

        Parameters
        ----------
        prior_p
            success probability :math:`p` of the prior geometric distribution (default: None)
        prior_strength
            strength of the loss regularisation induced by the prior
        
darts/utils/likelihood_models/torch.py