Skip to content

Commit

Permalink
Merge 56b0a3c into cd453bc
Browse files Browse the repository at this point in the history
  • Loading branch information
twiecki committed Nov 9, 2018
2 parents cd453bc + 56b0a3c commit 68409be
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
4 changes: 2 additions & 2 deletions pymc3/sampling.py
Expand Up @@ -489,7 +489,7 @@ def _check_start_shape(model, start):
# if start var has no shape
else:
# if model var has a specified shape
if var_shape:
if var_shape.size > 0:
e += "\nExpected shape {} for var " \
"'{}', got scalar {}".format(
tuple(var_shape), var.name, start[var.name]
Expand Down Expand Up @@ -1523,4 +1523,4 @@ def init_nuts(init='auto', chains=1, n_init=500000, model=None,

step = pm.NUTS(potential=potential, model=model, **kwargs)

return start, step
return start, step
26 changes: 13 additions & 13 deletions pymc3/tests/test_models_utils.py
Expand Up @@ -13,15 +13,15 @@ def assertMatrixLabels(self, m, l, mt=None, lt=None):
assert np.all(
np.equal(
m.eval(),
mt if mt is not None else self.data.as_matrix()
mt if mt is not None else self.data.values
)
)
assert l == list(lt or self.data.columns)

def test_numpy_init(self):
m, l = utils.any_to_tensor_and_labels(self.data.as_matrix())
m, l = utils.any_to_tensor_and_labels(self.data.values
self.assertMatrixLabels(m, l, lt=['x0', 'x1'])
m, l = utils.any_to_tensor_and_labels(self.data.as_matrix(), labels=['x2', 'x3'])
m, l = utils.any_to_tensor_and_labels(self.data.values, labels=['x2', 'x3'])
self.assertMatrixLabels(m, l, lt=['x2', 'x3'])

def test_pandas_init(self):
Expand All @@ -32,42 +32,42 @@ def test_pandas_init(self):

def test_dict_input(self):
m, l = utils.any_to_tensor_and_labels(self.data.to_dict('dict'))
self.assertMatrixLabels(m, l, mt=self.data.as_matrix(l), lt=l)
self.assertMatrixLabels(m, l, mt=self.data[l].values, lt=l)

m, l = utils.any_to_tensor_and_labels(self.data.to_dict('series'))
self.assertMatrixLabels(m, l, mt=self.data.as_matrix(l), lt=l)
self.assertMatrixLabels(m, l, mt=self.data[l].values, lt=l)

m, l = utils.any_to_tensor_and_labels(self.data.to_dict('list'))
self.assertMatrixLabels(m, l, mt=self.data.as_matrix(l), lt=l)
self.assertMatrixLabels(m, l, mt=self.data[l].values, lt=l)

inp = {k: tt.as_tensor_variable(v) for k, v in self.data.to_dict('series').items()}
m, l = utils.any_to_tensor_and_labels(inp)
self.assertMatrixLabels(m, l, mt=self.data.as_matrix(l), lt=l)
self.assertMatrixLabels(m, l, mt=self.data[l].values, lt=l)

def test_list_input(self):
m, l = utils.any_to_tensor_and_labels(self.data.as_matrix().tolist())
m, l = utils.any_to_tensor_and_labels(self.data.values.tolist())
self.assertMatrixLabels(m, l, lt=['x0', 'x1'])
m, l = utils.any_to_tensor_and_labels(self.data.as_matrix().tolist(), labels=['x2', 'x3'])
m, l = utils.any_to_tensor_and_labels(self.data.values.tolist(), labels=['x2', 'x3'])
self.assertMatrixLabels(m, l, lt=['x2', 'x3'])

def test_tensor_input(self):
m, l = utils.any_to_tensor_and_labels(
tt.as_tensor_variable(self.data.as_matrix().tolist()),
tt.as_tensor_variable(self.data.values.tolist()),
labels=['x0', 'x1']
)
self.assertMatrixLabels(m, l, lt=['x0', 'x1'])
m, l = utils.any_to_tensor_and_labels(
tt.as_tensor_variable(self.data.as_matrix().tolist()),
tt.as_tensor_variable(self.data.values.tolist()),
labels=['x2', 'x3'])
self.assertMatrixLabels(m, l, lt=['x2', 'x3'])

def test_user_mistakes(self):
# no labels for tensor variable
with pytest.raises(
ValueError):
utils.any_to_tensor_and_labels(tt.as_tensor_variable(self.data.as_matrix().tolist()))
utils.any_to_tensor_and_labels(tt.as_tensor_variable(self.data.values.tolist()))
# len of labels is bad
with pytest.raises(
ValueError):
utils.any_to_tensor_and_labels(self.data.as_matrix().tolist(),
utils.any_to_tensor_and_labels(self.data.values.tolist(),
labels=['x'])

0 comments on commit 68409be

Please sign in to comment.