|
16 | 16 | import theano
|
17 | 17 | import theano.tensor as tt
|
18 | 18 | import numpy as np
|
| 19 | +import pickle |
19 | 20 | import pandas as pd
|
20 | 21 | import numpy.testing as npt
|
21 | 22 | import unittest
|
@@ -423,21 +424,24 @@ def test_tempered_logp_dlogp():
|
423 | 424 | npt.assert_allclose(func_temp_nograd(x), func_temp(x)[0])
|
424 | 425 |
|
425 | 426 |
|
426 |
| -import pickle |
427 | 427 | def test_model_pickle(tmpdir):
|
428 | 428 | """Tests that PyMC3 models are pickleable"""
|
| 429 | + with pm.Model() as model: |
| 430 | + x = pm.Normal('x') |
| 431 | + pm.Normal('y', observed=1) |
| 432 | + |
| 433 | + file_path = tmpdir.join("model.p") |
| 434 | + with open(file_path, 'wb') as buff: |
| 435 | + pickle.dump(model, buff) |
429 | 436 |
|
430 |
| - # Data of the Eight Schools Model |
431 |
| - J = 8 |
432 |
| - y = np.array([28., 8., -3., 7., -1., 1., 18., 12.]) |
433 |
| - sigma = np.array([15., 10., 16., 11., 9., 11., 10., 18.]) |
434 | 437 |
|
| 438 | +def test_model_pickle_deterministic(tmpdir): |
| 439 | + """Tests that PyMC3 models are pickleable""" |
435 | 440 | with pm.Model() as model:
|
436 |
| - mu = pm.Normal('mu', mu=0, sigma=5) |
437 |
| - tau = pm.HalfCauchy('tau', beta=5) |
438 |
| - theta = pm.Normal('theta', mu=mu, sigma=tau, shape=J) |
439 |
| - obs = pm.Normal('obs', mu=theta, sigma=sigma, observed=y) |
440 |
| - # t = pm.sample(draws=100) |
| 441 | + x = pm.Normal('x') |
| 442 | + z = pm.Normal("z") |
| 443 | + pm.Deterministic("w", x/z) |
| 444 | + pm.Normal('y', observed=1) |
441 | 445 |
|
442 | 446 | file_path = tmpdir.join("model.p")
|
443 | 447 | with open(file_path, 'wb') as buff:
|
|
0 commit comments