mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Independent constraint (#50547)
Summary: Addresses https://github.com/pytorch/pytorch/issues/50496 This fixes a number of inconsistencies in torch.distributions.constraints as used for parameters and supports of probability distributions. - Adds a `constraints.independent` and replaces `real_vector` with `independent(real, 1)`. (this pattern has long been used in Pyro) - Adds an `.event_dim` attribute to all constraints. - Tests that `constraint.check(data)` has the correct shape. (Previously the shapes were incorrect). - Adds machinery to set static `.is_discrete` and `.event_dim` for `constraints.dependent`. - Fixes constraints for a number of distributions. ## Tested - added a new check to the constraints tests - added a new check for `.event_dim` cc fehiepsi feynmanliang stefanwebb Pull Request resolved: https://github.com/pytorch/pytorch/pull/50547 Reviewed By: VitalyFedyunin Differential Revision: D25918330 Pulled By: neerajprad fbshipit-source-id: a648c3de3e8704f70f445c0f1c39f2593c8c74db
This commit is contained in:
committed by
Facebook GitHub Bot
parent
5016637955
commit
21c2542b6a
@ -67,7 +67,7 @@ class Binomial(Distribution):
|
||||
def _new(self, *args, **kwargs):
|
||||
return self._param.new(*args, **kwargs)
|
||||
|
||||
@constraints.dependent_property
|
||||
@constraints.dependent_property(is_discrete=True)
|
||||
def support(self):
|
||||
return constraints.integer_interval(0, self.total_count)
|
||||
|
||||
|
Reference in New Issue
Block a user