From f2e08d5da70c465d3ca348e2eeeefb10a7a0fdbe Mon Sep 17 00:00:00 2001 From: colin Date: Thu, 29 Sep 2016 18:43:22 -0400 Subject: [PATCH] Clean up imports in math.pyt --- pymc3/__init__.py | 2 +- pymc3/math.py | 16 +++++++--------- pymc3/tests/models.py | 8 ++++---- pymc3/tests/test_advi.py | 6 +++--- pymc3/tests/test_examples.py | 4 ++-- 5 files changed, 17 insertions(+), 19 deletions(-) diff --git a/pymc3/__init__.py b/pymc3/__init__.py index 92907945a9..1065317304 100644 --- a/pymc3/__init__.py +++ b/pymc3/__init__.py @@ -2,7 +2,7 @@ from .blocking import * from .distributions import * -from .math import * +from .math import logsumexp, logit, invlogit from .model import * from .stats import * from .sampling import * diff --git a/pymc3/math.py b/pymc3/math.py index 687c0857a0..97c6d92b50 100644 --- a/pymc3/math.py +++ b/pymc3/math.py @@ -1,15 +1,13 @@ from __future__ import division -from theano.tensor import constant, flatten, zeros_like, ones_like, stack, concatenate, sum, prod, lt, gt, le, ge, eq, \ - neq, switch, clip, where, and_, or_, abs_ -from theano.tensor import exp, log, cos, sin, tan, cosh, sinh, \ - tanh, sqr, sqrt, erf, erfinv, dot -from theano.tensor import maximum, minimum, sgn, ceil, floor -from theano.tensor.nlinalg import det, matrix_inverse, \ - extract_diag, matrix_dot, trace -from theano.tensor.nnet import sigmoid +import sys import theano import theano.tensor as tt -import sys +from theano.tensor import (constant, flatten, zeros_like, ones_like, stack, concatenate, sum, prod, + lt, gt, le, ge, eq, neq, switch, clip, where, and_, or_, abs_, exp, log, + cos, sin, tan, cosh, sinh, tanh, sqr, sqrt, erf, erfinv, dot, maximum, + minimum, sgn, ceil, floor) +from theano.tensor.nlinalg import det, matrix_inverse, extract_diag, matrix_dot, trace +from theano.tensor.nnet import sigmoid def logsumexp(x, axis=None): diff --git a/pymc3/tests/models.py b/pymc3/tests/models.py index 20c4d750d9..d569e15a2c 100644 --- a/pymc3/tests/models.py +++ b/pymc3/tests/models.py @@ -2,7 +2,7 @@ import numpy as np import pymc3 as pm from itertools import product -from theano.tensor import log +import theano.tensor as tt def simple_model(): @@ -35,7 +35,7 @@ def simple_2model(): p = .4 with Model() as model: x = pm.Normal('x', mu, tau=tau, testval=.1) - pm.Deterministic('logx', log(x)) + pm.Deterministic('logx', tt.log(x)) pm.Bernoulli('y', p) return model.test_point, model @@ -48,7 +48,7 @@ def mv_simple(): [1., -0.05, 5.5]]) tau = np.dot(p, p.T) with pm.Model() as model: - pm.MvNormal('x', pm.constant(mu), tau=pm.constant(tau), + pm.MvNormal('x', tt.constant(mu), tau=tt.constant(tau), shape=3, testval=np.array([.1, 1., .8])) H = tau C = np.linalg.inv(H) @@ -60,7 +60,7 @@ def mv_simple_discrete(): n = 5 p = np.array([.15, .85]) with pm.Model() as model: - pm.Multinomial('x', n, pm.constant(p), shape=d, testval=np.array([1, 4])) + pm.Multinomial('x', n, tt.constant(p), shape=d, testval=np.array([1, 4])) mu = n * p # covariance matrix C = np.zeros((d, d)) diff --git a/pymc3/tests/test_advi.py b/pymc3/tests/test_advi.py index dc1a07a4d0..403ae366c8 100644 --- a/pymc3/tests/test_advi.py +++ b/pymc3/tests/test_advi.py @@ -1,6 +1,6 @@ import numpy as np import pymc3 as pm -from pymc3 import Model, Normal, DiscreteUniform, Poisson, switch, Exponential +from pymc3 import Model, Normal, DiscreteUniform, Poisson, Exponential from pymc3.theanof import inputvars from pymc3.variational import advi, advi_minibatch, sample_vp from pymc3.variational.advi import _calc_elbo, adagrad_optimizer @@ -66,7 +66,7 @@ def test_check_discrete(self): late_rate = Exponential('late_rate', 1) # Allocate appropriate Poisson rates to years before and after current - rate = switch(switchpoint >= self.year, early_rate, late_rate) + rate = tt.switch(switchpoint >= self.year, early_rate, late_rate) Poisson('disasters', rate, observed=self.disaster_data) # This should raise ValueError @@ -90,7 +90,7 @@ def create_minibatches(): late_rate = Exponential('late_rate', 1) # Allocate appropriate Poisson rates to years before and after current - rate = switch(switchpoint >= self.year, early_rate, late_rate) + rate = tt.switch(switchpoint >= self.year, early_rate, late_rate) disasters = Poisson('disasters', rate, observed=disaster_data_t) with self.assertRaises(ValueError): diff --git a/pymc3/tests/test_examples.py b/pymc3/tests/test_examples.py index 4526efd371..61ad4bcbb5 100644 --- a/pymc3/tests/test_examples.py +++ b/pymc3/tests/test_examples.py @@ -41,7 +41,7 @@ def build_model(self): with pm.Model() as model: effects = pm.Normal('effects', mu=0, tau=100. ** -2, shape=len(P.columns)) - p = pm.sigmoid(pm.dot(np.array(P), effects)) + p = tt.nnet.sigmoid(tt.dot(np.array(P), effects)) pm.Bernoulli('s', p, observed=np.array(data.switch)) return model @@ -154,7 +154,7 @@ def build_disaster_model(masked=False): # Allocate appropriate Poisson rates to years before and after current # switchpoint location idx = np.arange(years) - rate = pm.switch(switchpoint >= idx, early_mean, late_mean) + rate = tt.switch(switchpoint >= idx, early_mean, late_mean) # Data likelihood pm.Poisson('disasters', rate, observed=disasters_data) return model