예제 #1
0
    def log_intensity(self, x: Tensor) -> Tensor:
        r"""
        Logarithm of the intensity (a.k.a. hazard) function.

        The intensity is defined as :math:`\lambda(x) = p(x) / S(x)`.

        The intensity of the Weibull distribution is
        :math:`\lambda(x) = b * k * x^{k - 1}`.
        """
        log_x = x.clip(1e-10, np.inf).log()
        return self.rate.log() + self.shape.log() + (self.shape - 1) * log_x
예제 #2
0
 def f(self, x: Tensor) -> Tensor:
     F = getF(x)
     return F.Activation(x.clip(-100.0, np.inf), act_type="softrelu")
예제 #3
0
 def f_inv(self, y: Tensor) -> Tensor:
     return y.clip(-np.inf, 30).exp()
예제 #4
0
 def f(self, x: Tensor) -> Tensor:
     return x.clip(1.0e-20, np.inf).log()
예제 #5
0
 def log_abs_det_jac(self, x: Tensor, y: Tensor) -> Tensor:
     return y.clip(1.0e-20, np.inf).log()
예제 #6
0
 def f_inv(self, y: Tensor) -> Tensor:
     return y.clip(1.0e-20, np.inf).log()
예제 #7
0
 def f(self, x: Tensor) -> Tensor:
     return x.clip(-np.inf, 30).exp()