diff options
author | Eugene Brevdo <ebrevdo@google.com> | 2016-11-30 15:17:50 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2016-11-30 15:25:14 -0800 |
commit | 77cfa97ac784212130e97bc6fa9e6f8acfc86c08 (patch) | |
tree | dd8fa8b47f453c21916b82d279659dc41a906d5c | |
parent | 92342507ddb3b15f102bfc38111674d77e2145e6 (diff) |
Bugfix in tf.contrib.distributions base class, which enables more flexible subclassing of Distribution.
Change: 140659334
-rw-r--r-- | tensorflow/contrib/distributions/python/ops/distribution.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tensorflow/contrib/distributions/python/ops/distribution.py b/tensorflow/contrib/distributions/python/ops/distribution.py index cd193f4d6d..9f52e1f0dd 100644 --- a/tensorflow/contrib/distributions/python/ops/distribution.py +++ b/tensorflow/contrib/distributions/python/ops/distribution.py @@ -130,7 +130,10 @@ class _DistributionMeta(abc.ABCMeta): if not baseclasses: # Nothing to be done for Distribution raise TypeError("Expected non-empty baseclass. Does Distribution " "not subclass _BaseDistribution?") - base = baseclasses[0] + which_base = [ + base for base in baseclasses + if base == _BaseDistribution or issubclass(base, Distribution)] + base = which_base[0] if base == _BaseDistribution: # Nothing to be done for Distribution return abc.ABCMeta.__new__(mcs, classname, baseclasses, attrs) if not issubclass(base, Distribution): |