aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Eugene Brevdo <ebrevdo@google.com>2016-11-30 15:17:50 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-11-30 15:25:14 -0800
commit77cfa97ac784212130e97bc6fa9e6f8acfc86c08 (patch)
treedd8fa8b47f453c21916b82d279659dc41a906d5c
parent92342507ddb3b15f102bfc38111674d77e2145e6 (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.py5
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):