[docs]classWeibull(TransformedDistribution):r""" Samples from a two-parameter Weibull distribution. Example: >>> # xdoctest: +IGNORE_WANT("non-deterinistic") >>> m = Weibull(torch.tensor([1.0]), torch.tensor([1.0])) >>> m.sample() # sample from a Weibull distribution with scale=1, concentration=1 tensor([ 0.4784]) Args: scale (float or Tensor): Scale parameter of distribution (lambda). concentration (float or Tensor): Concentration parameter of distribution (k/shape). """arg_constraints={"scale":constraints.positive,"concentration":constraints.positive,}support=constraints.positivedef__init__(self,scale,concentration,validate_args=None):self.scale,self.concentration=broadcast_all(scale,concentration)self.concentration_reciprocal=self.concentration.reciprocal()base_dist=Exponential(torch.ones_like(self.scale),validate_args=validate_args)transforms=[PowerTransform(exponent=self.concentration_reciprocal),AffineTransform(loc=0,scale=self.scale),]super().__init__(base_dist,transforms,validate_args=validate_args)
To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.