Skip to content

Cannot successfully run tests locally #3811

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
rpgoldman opened this issue Feb 18, 2020 · 15 comments
Closed

Cannot successfully run tests locally #3811

rpgoldman opened this issue Feb 18, 2020 · 15 comments
Labels
bug macOS macOS related

Comments

@rpgoldman
Copy link
Contributor

I get chain failure errors on two of the tests:

pymc3/tests/test_sampling.py::TestSamplePPC.test_deterministic_of_observed and pymc3/tests/test_sampling.py::TestSamplePPC.test_deterministic_of_observed_modified_interface

I have destroyed my pymc3 virtual environment twice, and reinstalled first with 3.7.1 and second with 3.6.8, and I still get the problem.

Description of your problem

Please provide a minimal, self-contained, and reproducible example.

pytest pymc3/tests/test_sampling.py::TestSamplePPC::test_deterministic_of_observed

(alas, this is obviously not reproducible)

Please provide the full traceback.

pymc3.parallel_sampling.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/Users/rpg/src/pymc3/pymc3/parallel_sampling.py", line 128, in run
    self._start_loop()
  File "/Users/rpg/src/pymc3/pymc3/parallel_sampling.py", line 178, in _start_loop
    point, stats = self._compute_point()
  File "/Users/rpg/src/pymc3/pymc3/parallel_sampling.py", line 209, in _compute_point
    point, stats = self._step_method.step(self._point)
  File "/Users/rpg/src/pymc3/pymc3/step_methods/arraystep.py", line 263, in step
    apoint, stats = self.astep(array)
  File "/Users/rpg/src/pymc3/pymc3/step_methods/hmc/base_hmc.py", line 144, in astep
    self.potential.raise_ok(self._logp_dlogp_func._ordering.vmap)
  File "/Users/rpg/src/pymc3/pymc3/step_methods/hmc/quadpotential.py", line 255, in raise_ok
    raise ValueError('\n'.join(errmsg))
ValueError: Mass matrix contains zeros on the diagonal. 
The derivative of RV `sd__in_2_log__`.ravel()[0] is zero.
The derivative of RV `mu_in_2`.ravel()[0] is zero.
The derivative of RV `sd_in_1_log__`.ravel()[0] is zero.
The derivative of RV `mu_in_1`.ravel()[0] is zero.
"""

The above exception was the direct cause of the following exception:
pymc3.parallel_sampling.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/Users/rpg/src/pymc3/pymc3/parallel_sampling.py", line 128, in run
    self._start_loop()
  File "/Users/rpg/src/pymc3/pymc3/parallel_sampling.py", line 178, in _start_loop
    point, stats = self._compute_point()
  File "/Users/rpg/src/pymc3/pymc3/parallel_sampling.py", line 209, in _compute_point
    point, stats = self._step_method.step(self._point)
  File "/Users/rpg/src/pymc3/pymc3/step_methods/arraystep.py", line 263, in step
    apoint, stats = self.astep(array)
  File "/Users/rpg/src/pymc3/pymc3/step_methods/hmc/base_hmc.py", line 144, in astep
    self.potential.raise_ok(self._logp_dlogp_func._ordering.vmap)
  File "/Users/rpg/src/pymc3/pymc3/step_methods/hmc/quadpotential.py", line 255, in raise_ok
    raise ValueError('\n'.join(errmsg))
ValueError: Mass matrix contains zeros on the diagonal. 
The derivative of RV `sd__in_2_log__`.ravel()[0] is zero.
The derivative of RV `mu_in_2`.ravel()[0] is zero.
The derivative of RV `sd_in_1_log__`.ravel()[0] is zero.
The derivative of RV `mu_in_1`.ravel()[0] is zero.
"""

The above exception was the direct cause of the following exception:

ValueError: Mass matrix contains zeros on the diagonal. 
The derivative of RV `sd__in_2_log__`.ravel()[0] is zero.
The derivative of RV `mu_in_2`.ravel()[0] is zero.
The derivative of RV `sd_in_1_log__`.ravel()[0] is zero.
The derivative of RV `mu_in_1`.ravel()[0] is zero.

The above exception was the direct cause of the following exception:

self = <pymc3.tests.test_sampling.TestSamplePPC object at 0x136a67cf8>

    def test_deterministic_of_observed(self):
        meas_in_1 = pm.theanof.floatX(2 + 4 * np.random.randn(100))
        meas_in_2 = pm.theanof.floatX(5 + 4 * np.random.randn(100))
        with pm.Model() as model:
            mu_in_1 = pm.Normal("mu_in_1", 0, 1)
            sigma_in_1 = pm.HalfNormal("sd_in_1", 1)
            mu_in_2 = pm.Normal("mu_in_2", 0, 1)
            sigma_in_2 = pm.HalfNormal("sd__in_2", 1)
    
            in_1 = pm.Normal("in_1", mu_in_1, sigma_in_1, observed=meas_in_1)
            in_2 = pm.Normal("in_2", mu_in_2, sigma_in_2, observed=meas_in_2)
            out_diff = in_1 + in_2
            pm.Deterministic("out", out_diff)
    
>           trace = pm.sample(100)

pymc3/tests/test_sampling.py:424: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pymc3/sampling.py:493: in sample
    trace = _mp_sample(**sample_args)
pymc3/sampling.py:1351: in _mp_sample
    for draw in sampler:
pymc3/parallel_sampling.py:412: in __iter__
    draw = ProcessAdapter.recv_draw(self._active)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

processes = [<pymc3.parallel_sampling.ProcessAdapter object at 0x1038060b8>], timeout = 3600

    @staticmethod
    def recv_draw(processes, timeout=3600):
        if not processes:
            raise ValueError("No processes.")
        pipes = [proc._msg_pipe for proc in processes]
        ready = multiprocessing.connection.wait(pipes)
        if not ready:
            raise multiprocessing.TimeoutError("No message from samplers.")
        idxs = {id(proc._msg_pipe): proc for proc in processes}
        proc = idxs[id(ready[0])]
        msg = ready[0].recv()
    
        if msg[0] == "error":
            warns, old_error = msg[1:]
            if warns is not None:
                error = ParallelSamplingError(str(old_error), proc.chain, warns)
            else:
                error = RuntimeError("Chain %s failed." % proc.chain)
>           raise error from old_error
E           RuntimeError: Chain 2 failed.

pymc3/parallel_sampling.py:314: RuntimeError
---------------------------------------------------------------- Captured stdout call --------------------------------------------------------------------------------------------------------------------------------- Captured stderr call -----------------------------------------------------------------
Only 100 samples in chain.
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (4 chains in 4 jobs)
NUTS: [sd__in_2, mu_in_2, sd_in_1, mu_in_1]
------------------------------------------------------------------ Captured log call ------------------------------------------------------------------
WARNING  pymc3:sampling.py:427 Only 100 samples in chain.
INFO     pymc3:sampling.py:437 Auto-assigning NUTS sampler...
INFO     pymc3:sampling.py:1860 Initializing NUTS using jitter+adapt_diag...
INFO     pymc3:sampling.py:490 Multiprocess sampling (4 chains in 4 jobs)
INFO     pymc3:sampling.py:222 NUTS: [sd__in_2, mu_in_2, sd_in_1, mu_in_1]
============================================================ 1 failed in 61.19s (0:01:01) =============================================================

Please provide any additional information below.

Attaching output of pip freeze from Python 3.6.8 virtual environment.
pip_freeze_.txt

Versions and main components

  • PyMC3 Version: 48b8749
  • Theano Version: 1.0.4
  • Python Version: 3.6.8
  • Operating system: MacOS 10.15.3
  • How did you install PyMC3: pip install -e
@rpgoldman
Copy link
Contributor Author

I have checked this, and if I change the init of pm.sample to adapt_diag from jitter+adapt_diag, this test passes.

@rpgoldman
Copy link
Contributor Author

Possibly related: I have always had trouble with jitter+adapt_diag, so much that on my project I just default to adapt_diag.

@lucianopaz
Copy link
Member

Has this ever come up in the ci builds? I never had that kind of trouble with the tests locally

@rpgoldman
Copy link
Contributor Author

I'm not sure what this is. In the models I have done for work the same thing happens, and I have had to use adapt_diag instead of jitter+adapt_diag whenever I sample.

No, this never seems to happen on Travis.

I have no idea what causes this.

@lucianopaz
Copy link
Member

The jitter part of the initialization adds some random noise to the result from the adapt_diag. This noise adds some more randomness to different chains. Sometimes this is desirable. Other times (usually in big models) the noise's scale is too big and it moves the initial samples to an unfeasible domain (this leads to bad initial energy errors) or to flat regions of the logp (the error you're seeing). I have no idea what is causing your local tests to fail though.

@MarcoGorelli
Copy link
Contributor

I'm able to run this locally - is this still an issue or can we close?

@rpgoldman
Copy link
Contributor Author

I'll retest and close if this is gone.

@rpgoldman
Copy link
Contributor Author

Retested, and have 13 failed tests locally on master:

FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable[()]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable[(3,)]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable[(3, 2)]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable_failure[()]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable_failure[(3,)]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable_failure[(3, 2)]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable_hidden_error[()]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable_hidden_error[(3,)]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable_hidden_error[(3, 2)]
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_with_random_sampleable_handcrafted_success
FAILED pymc3/tests/test_distributions_random.py::TestDensityDist::test_density_dist_without_random_not_sampleable
FAILED pymc3/tests/test_types.py::TestType::test_float32 - RuntimeError: Chai...
FAILED pymc3/tests/test_types.py::TestType::test_float32_MLDA - RuntimeError:...

Off-hand, it looks like TestDensityDist for whatever reason is broken very badly, and testing of float32.

The float32 errors are:

TypeError: expected type_num 11 (NPY_FLOAT32) got 12

...so this does not look ready to close. More information about TestDensityDist to follow.

@rpgoldman
Copy link
Contributor Author

The float 32 issue is an issue with theano compilation and I have theano-pymc==1.0.11 on MacOS 10.15.7 and python 3.7.7

@rpgoldman
Copy link
Contributor Author

Looking at the TestDensityDist, the errors seem to come when we do this:

pymc3/parallel_sampling.py:421: in __init__
    step_method_pickled = pickle.dumps(step_method, protocol=-1)

I get a RecursionError: maximum recursion depth exceeded in comparison when we try to pickle dump the step method using dill. I hit a call to save_module_dict which looks pretty bad. But not sure why this works as part of CI.

@rpgoldman
Copy link
Contributor Author

Checking with pdb, we try to save the logp of a DensityDist. This leads to needing to pickle Normal.logp which leads to needing to pickle pymc3.distributions.continuous.Normal and I fear to trying to pickle all of pymc3.

So ... why does this work for CI and not for me?

@MarcoGorelli
Copy link
Contributor

These fail on CI with macos-latest too:

2020-11-29T10:28:07.9704940Z =================================== FAILURES ===================================
2020-11-29T10:28:07.9705530Z _________ TestDensityDist.test_density_dist_with_random_sampleable[()] _________
2020-11-29T10:28:07.9705980Z 
2020-11-29T10:28:07.9706630Z self = <pymc3.tests.test_distributions_random.TestDensityDist object at 0x7fe5ab3d6358>
2020-11-29T10:28:07.9707300Z shape = ()
2020-11-29T10:28:07.9708190Z 
2020-11-29T10:28:07.9708650Z     @pytest.mark.parametrize("shape", [(), (3,), (3, 2)], ids=str)
2020-11-29T10:28:07.9709320Z     def test_density_dist_with_random_sampleable(self, shape):
2020-11-29T10:28:07.9709830Z         with pm.Model() as model:
2020-11-29T10:28:07.9710220Z             mu = pm.Normal("mu", 0, 1)
2020-11-29T10:28:07.9710690Z             normal_dist = pm.Normal.dist(mu, 1, shape=shape)
2020-11-29T10:28:07.9711190Z             obs = pm.DensityDist(
2020-11-29T10:28:07.9711580Z                 "density_dist",
2020-11-29T10:28:07.9711960Z                 normal_dist.logp,
2020-11-29T10:28:07.9712420Z                 observed=np.random.randn(100, *shape),
2020-11-29T10:28:07.9712860Z                 shape=shape,
2020-11-29T10:28:07.9713260Z                 random=normal_dist.random,
2020-11-29T10:28:07.9713610Z             )
2020-11-29T10:28:07.9714330Z >           trace = pm.sample(100)
2020-11-29T10:28:07.9714630Z 
2020-11-29T10:28:07.9722330Z pymc3/tests/test_distributions_random.py:1151: 
2020-11-29T10:28:07.9722810Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2020-11-29T10:28:07.9723220Z pymc3/sampling.py:553: in sample
2020-11-29T10:28:07.9723730Z     trace = _mp_sample(**sample_args, **parallel_args)
2020-11-29T10:28:07.9724240Z pymc3/sampling.py:1469: in _mp_sample
2020-11-29T10:28:07.9724710Z     pickle_backend=pickle_backend,
2020-11-29T10:28:07.9725200Z pymc3/parallel_sampling.py:421: in __init__
2020-11-29T10:28:07.9726340Z     step_method_pickled = pickle.dumps(step_method, protocol=-1)
2020-11-29T10:28:07.9727030Z pymc3/distributions/distribution.py:516: in __getstate__
2020-11-29T10:28:07.9727600Z     logp = dill.dumps(self.logp)
2020-11-29T10:28:07.9728630Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:273: in dumps
2020-11-29T10:28:07.9729410Z     dump(obj, file, protocol, byref, fmode, recurse, **kwds)#, strictio)
2020-11-29T10:28:07.9730540Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:267: in dump
2020-11-29T10:28:07.9731240Z     Pickler(file, protocol, **_kwds).dump(obj)
2020-11-29T10:28:07.9732280Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:454: in dump
2020-11-29T10:28:07.9732970Z     StockPickler.dump(self, obj)
2020-11-29T10:28:07.9733580Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:409: in dump
2020-11-29T10:28:07.9734090Z     self.save(obj)
2020-11-29T10:28:07.9734610Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:476: in save
2020-11-29T10:28:07.9735240Z     f(self, obj) # Call unbound method with explicit self
2020-11-29T10:28:07.9736430Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:1127: in save_instancemethod0
2020-11-29T10:28:07.9737270Z     pickler.save_reduce(MethodType, (obj.__func__, obj.__self__), obj=obj)
2020-11-29T10:28:07.9738000Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:610: in save_reduce
2020-11-29T10:28:07.9738520Z     save(args)
2020-11-29T10:28:07.9739030Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:476: in save
2020-11-29T10:28:07.9739660Z     f(self, obj) # Call unbound method with explicit self
2020-11-29T10:28:07.9740310Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:736: in save_tuple
2020-11-29T10:28:07.9740850Z     save(element)
2020-11-29T10:28:07.9741370Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:521: in save
2020-11-29T10:28:07.9741930Z     self.save_reduce(obj=obj, *rv)
2020-11-29T10:28:07.9742520Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:634: in save_reduce
2020-11-29T10:28:07.9743050Z     save(state)
2020-11-29T10:28:07.9743550Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:476: in save
2020-11-29T10:28:07.9744170Z     f(self, obj) # Call unbound method with explicit self
2020-11-29T10:28:07.9745320Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:941: in save_module_dict
2020-11-29T10:28:07.9746070Z     StockPickler.save_dict(pickler, obj)
2020-11-29T10:28:07.9747000Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:821: in save_dict
2020-11-29T10:28:07.9747600Z     self._batch_setitems(obj.items())
2020-11-29T10:28:07.9748210Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:847: in _batch_setitems
2020-11-29T10:28:07.9748730Z     save(v)
2020-11-29T10:28:07.9749230Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:521: in save
2020-11-29T10:28:07.9749780Z     self.save_reduce(obj=obj, *rv)
2020-11-29T10:28:07.9750500Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:634: in save_reduce
2020-11-29T10:28:07.9751030Z     save(state)
2020-11-29T10:28:07.9751540Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:476: in save
2020-11-29T10:28:07.9752160Z     f(self, obj) # Call unbound method with explicit self
2020-11-29T10:28:07.9753540Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:941: in save_module_dict
2020-11-29T10:28:07.9754320Z     StockPickler.save_dict(pickler, obj)
2020-11-29T10:28:07.9754980Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:821: in save_dict
2020-11-29T10:28:07.9755560Z     self._batch_setitems(obj.items())
2020-11-29T10:28:07.9756180Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:847: in _batch_setitems
2020-11-29T10:28:07.9756700Z     save(v)
2020-11-29T10:28:07.9757190Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:521: in save
2020-11-29T10:28:07.9757750Z     self.save_reduce(obj=obj, *rv)
2020-11-29T10:28:07.9758340Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:634: in save_reduce
2020-11-29T10:28:07.9758860Z     save(state)
2020-11-29T10:28:07.9759370Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:476: in save
2020-11-29T10:28:07.9759990Z     f(self, obj) # Call unbound method with explicit self
2020-11-29T10:28:07.9761160Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:941: in save_module_dict
2020-11-29T10:28:07.9761910Z     StockPickler.save_dict(pickler, obj)
2020-11-29T10:28:07.9762560Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:821: in save_dict
2020-11-29T10:28:07.9763150Z     self._batch_setitems(obj.items())
2020-11-29T10:28:07.9763760Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:847: in _batch_setitems
2020-11-29T10:28:07.9764290Z     save(v)
2020-11-29T10:28:07.9764770Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:521: in save
2020-11-29T10:28:07.9765340Z     self.save_reduce(obj=obj, *rv)
2020-11-29T10:28:07.9765920Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:631: in save_reduce
2020-11-29T10:28:07.9766520Z     self._batch_setitems(dictitems)
2020-11-29T10:28:07.9767140Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:847: in _batch_setitems
2020-11-29T10:28:07.9767660Z     save(v)
2020-11-29T10:28:07.9768160Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:521: in save
2020-11-29T10:28:07.9768720Z     self.save_reduce(obj=obj, *rv)
2020-11-29T10:28:07.9769310Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:634: in save_reduce
2020-11-29T10:28:07.9769830Z     save(state)
2020-11-29T10:28:07.9770340Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:476: in save
2020-11-29T10:28:07.9771060Z     f(self, obj) # Call unbound method with explicit self
2020-11-29T10:28:07.9772240Z /usr/local/miniconda/envs/testenv/lib/python3.6/site-packages/dill/_dill.py:941: in save_module_dict
2020-11-29T10:28:07.9772980Z     StockPickler.save_dict(pickler, obj)
2020-11-29T10:28:07.9773620Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:821: in save_dict
2020-11-29T10:28:07.9774210Z     self._batch_setitems(obj.items())
2020-11-29T10:28:07.9774830Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:847: in _batch_setitems
2020-11-29T10:28:07.9775350Z     save(v)
2020-11-29T10:28:07.9775850Z /usr/local/miniconda/envs/testenv/lib/python3.6/pickle.py:496: in save
2020-11-29T10:28:07.9776400Z     rv = reduce(self.proto)
2020-11-29T10:28:07.9776930Z pymc3/distributions/distribution.py:516: in __getstate__
2020-11-29T10:28:07.9777740Z     logp = dill.dumps(self.logp)
2020-11-29T10:28:07.9778290Z E   RecursionError: maximum recursion depth exceeded
2020-11-29T10:28:07.9778900Z !!! Recursion detected (same locals & position)
2020-11-29T10:28:07.9779950Z ----------------------------- Captured stderr call -----------------------------
2020-11-29T10:28:07.9780510Z Only 100 samples in chain.
2020-11-29T10:28:07.9781280Z Auto-assigning NUTS sampler...
2020-11-29T10:28:07.9781840Z Initializing NUTS using jitter+adapt_diag...
2020-11-29T10:28:07.9782470Z Multiprocess sampling (2 chains in 2 jobs)
2020-11-29T10:28:07.9782880Z NUTS: [mu]
2020-11-29T10:28:07.9783760Z ------------------------------ Captured log call -------------------------------
2020-11-29T10:28:07.9784430Z WARNING  pymc3:sampling.py:480 Only 100 samples in chain.
2020-11-29T10:28:07.9785800Z INFO     pymc3:sampling.py:490 Auto-assigning NUTS sampler...
2020-11-29T10:28:07.9786590Z INFO     pymc3:sampling.py:2034 Initializing NUTS using jitter+adapt_diag...
2020-11-29T10:28:07.9787330Z INFO     pymc3:sampling.py:550 Multiprocess sampling (2 chains in 2 jobs)
2020-11-29T10:28:07.9787920Z INFO     pymc3:sampling.py:236 NUTS: [mu]

@rpgoldman
Copy link
Contributor Author

I'll file a separate ticket for this, since we have a clear mechanism for it.

@rpgoldman
Copy link
Contributor Author

Discussion of recursion error should go to #4273

@rpgoldman
Copy link
Contributor Author

Closing this issue in favor of more specific issues #4273 and #4274

@michaelosthege michaelosthege added bug macOS macOS related labels Nov 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug macOS macOS related
Projects
None yet
Development

No branches or pull requests

4 participants