pymc-devs / pymc

Bayesian Modeling and Probabilistic Programming in Python
https://docs.pymc.io/
Other
8.51k stars 1.97k forks source link

parallelized tests #889

Closed keszybz closed 7 years ago

keszybz commented 8 years ago

This came up as part of the package review for Fedora [https://bugzilla.redhat.com/show_bug.cgi?id=1288870]: tests are the slowest part of build, it would be great if tests could be use a specified number of threads to run faster.

superbobry commented 8 years ago

This can be easily handled by using a parallel test runner: just add --processes=N when calling nosetests or set NOSE_PROCESSES environment var .

keszybz commented 8 years ago

I already tried that, --processes=N causes massive test failures:

$ nosetests --processes=12  -v
Failure: SkipTest (Test requires statsmodels.) ... SKIP: Test requires statsmodels.
pymc3.tests.test_distribution_defaults.test_default_nan_fail ... ok
pymc3.tests.test_distribution_defaults.test_default_empty_fail ... ok
pymc3.tests.test_distribution_defaults.test_default_testval ... ok
pymc3.tests.test_distribution_defaults.test_default_testval_nan ... ok
pymc3.tests.test_distribution_defaults.test_default_a ... ok
pymc3.tests.test_distribution_defaults.test_default_b ... ok
pymc3.tests.test_distributions.test_flat ... ok
pymc3.tests.test_distributions.test_uniform ... ok
pymc3.tests.test_distributions.test_half_normal ... ok
pymc3.tests.test_distributions.test_exponential ... ok
pymc3.tests.test_distributions.test_geometric ... ok
pymc3.tests.test_distributions.test_normal ... ok
pymc3.tests.test_distributions.test_laplace ... ok
/usr/lib/python2.7/site-packages/theano/scan_module/scan_perform_ext.py:133: RuntimeWarning: numpy.ndarray size changed, may indicate binary incompatibility
  from scan_perform.scan_perform import *
pymc3.tests.test_distributions.test_negative_binomial ... ok
pymc3.tests.test_distributions.test_lognormal ... ok
pymc3.tests.test_distributions.test_half_cauchy ... ok
pymc3.tests.test_distributions.test_cauchy ... ok
pymc3.tests.test_distributions.test_inverse_gamma ... ok
pymc3.tests.test_distributions.test_gamma ... ok
pymc3.tests.test_distributions.test_weibull ... ok
pymc3.tests.test_distributions.test_t ... ok
Unit test for effective sample size ... ok
pymc3.tests.test_distributions.test_bernoulli ... ok
pymc3.tests.test_distributions.test_tpos ... ok
pymc3.tests.test_distributions.test_poisson ... ok
INFO (theano.gof.compilelock): Waiting for existing lock by process '31662' (I am process '31685')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31662' (I am process '31711')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31662' (I am process '31932')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31773' (I am process '31808')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31773' (I am process '31888')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
pymc3.tests.test_diagnostics.test_geweke ... ok
INFO (theano.gof.compilelock): Waiting for existing lock by process '31642' (I am process '31740')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
pymc3.tests.test_distributions.test_zeroinflatedpoisson ... ok
pymc3.tests.test_distributions.test_wishart ... ok
INFO (theano.gof.compilelock): Waiting for existing lock by process '31626' (I am process '31932')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31626' (I am process '31979')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31626' (I am process '31685')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
nose.plugins.multiprocess: ERROR: terminating worker 0
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '31626' (I am process '31685')
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31740')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31711')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31888')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31773')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31847')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31808')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31642')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31662')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31685' (I am process '31979')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
nose.plugins.multiprocess: ERROR: terminating worker 3
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '31685' (I am process '31711')
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '31847')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
Exception nose.plugins.multiprocess.TimedOutException: TimedOutException() in <bound method Popen.__del__ of <subprocess.Popen object at 0x7fb9390fbe90>> ignored
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '31888')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '31740')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '32302')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '31808')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '31932')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '31773')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31711' (I am process '31642')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
Exception nose.plugins.multiprocess.TimedOutException: TimedOutException() in <bound method Popen.__del__ of <subprocess.Popen object at 0x7fb9323be3d0>> ignored
nose.plugins.multiprocess: ERROR: terminating worker 4
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '31711' (I am process '31740')
INFO (theano.gof.compilelock): Waiting for existing lock by process '31740' (I am process '31979')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
Exception nose.plugins.multiprocess.TimedOutException: TimedOutException() in <bound method Popen.__del__ of <subprocess.Popen object at 0x7fb93928bb10>> ignored
INFO (theano.gof.compilelock): Waiting for existing lock by process '31740' (I am process '31662')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31740' (I am process '32624')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
nose.plugins.multiprocess: ERROR: terminating worker 5
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '31740' (I am process '31773')
INFO (theano.gof.compilelock): Waiting for existing lock by process '31642' (I am process '31979')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31642' (I am process '32302')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31642' (I am process '370')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
pymc3.tests.test_diagnostics.test_gelman_rubin ... ERROR
pymc3.tests.test_distributions.test_dirichlet(2,) ... ERROR
pymc3.tests.test_distributions.test_dirichlet(3,) ... ERROR
pymc3.tests.test_distributions.test_dirichlet(2, 2) ... ERROR
pymc3.tests.test_distributions.test_multinomial(2,) ... ERROR
pymc3.tests.test_distributions.test_multinomial(3,) ... ERROR
pymc3.tests.test_distributions.test_categorical(2,) ... ERROR
pymc3.tests.test_distributions.test_categorical(3,) ... ERROR
pymc3.tests.test_distributions.test_categorical(4,) ... ERROR
pymc3.tests.test_distributions.test_densitydist ... ERROR
pymc3.tests.test_distributions.test_addpotential ... ok
pymc3.tests.test_distributions.test_bound ... ok
pymc3.tests.test_distributions.test_get_tau_sd ... ok
pymc3.tests.test_distributions.test_ex_gaussian(0.5, -50.0, 0.5, 0.5, -99.8068528) ... ERROR
pymc3.tests.test_distributions.test_ex_gaussian(1.0, -1.0, 0.001, 0.001, -1992.5922447) ... ERROR
pymc3.tests.test_distributions.test_ex_gaussian(2.0, 0.001, 1.0, 1.0, -1.6720416) ... ERROR
pymc3.tests.test_distributions.test_ex_gaussian(5.0, 0.5, 2.5, 2.5, -2.4543644) ... ERROR
pymc3.tests.test_distributions.test_ex_gaussian(7.5, 2.0, 5.0, 5.0, -2.8259429) ... ERROR
pymc3.tests.test_distributions.test_ex_gaussian(15.0, 5.0, 7.5, 7.5, -3.3093854) ... ERROR
pymc3.tests.test_distributions.test_ex_gaussian(50.0, 50.0, 10.0, 10.0, -3.6436067) ... ERROR
pymc3.tests.test_distributions.test_ex_gaussian(1000.0, 500.0, 10.0, 20.0, -27.8707323) ... ERROR
pymc3.tests.test_distributions.test_multidimensional_beta_construction ... ERROR
pymc3.tests.test_distributions.test_chi_squared ... ERROR
test_bernoulli (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_beta (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_beta_bin (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_binomial (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_categorical (pymc3.tests.test_distributions_random.Parameters1dShape) ... SKIP: Categorical cannot be initialised with >1D probabilities
test_cauchy (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_chi_squared (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_constantDist (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_discrete_uniform (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_ex_gaussian (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_exponential (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_gamma (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_geometric (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_half_cauchy (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_half_normal (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_inverse_gamma (pymc3.tests.test_distributions_random.Parameters1dShape) ... SKIP: InverseGamma fails due to calculation of self.mean in __init__
test_laplace (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_lognormal (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_negative_binomial (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_normal (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_pareto (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_poisson (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_t (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_uniform (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_wald (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_weibull (pymc3.tests.test_distributions_random.Parameters1dShape) ... ERROR
test_zero_inflated_poisson (pymc3.tests.test_distributions_random.Parameters1dShape) ... SKIP: ZeroInflatedPoisson random sampling not yet implemented.
test_bernoulli (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_beta (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_beta_bin (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_binomial (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_categorical (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_cauchy (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_chi_squared (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_constant_dist (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_discrete_uniform (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_ex_gaussian (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_exponential (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_gamma (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_geometric (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_half_cauchy (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_half_normal (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_inverse_gamma (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_laplace (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_lognormal (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_negative_binomial (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_normal (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_pareto (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_poisson (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_t (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_uniform (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_wald (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ok
test_weibull (pymc3.tests.test_distributions_random.ScalarParameterShape) ... ERROR
test_zero_inflated_poisson (pymc3.tests.test_distributions_random.ScalarParameterShape) ... SKIP: ZeroInflatedPoisson random sampling not yet implemented.
pymc3.tests.test_distributions.test_discrete_unif ... ERROR
pymc3.tests.test_distributions_random.test_draw_values ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.dirichlet',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.disaster_model',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.disaster_model_arbitrary_deterministic',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.disaster_model_missing',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.discrete_find_MAP',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.factor_potential',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.gelman_bioassay',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.glm_linear',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.glm_robust',) ... ERROR
pymc3.tests.test_examples.test_examples1('pymc3.examples.hierarchical',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.hierarchical_sqlite',) ... ok
pymc3.tests.test_examples.test_examples2('pymc3.examples.lasso_block_update',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.lasso_missing',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.latent_occupancy',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.logistic',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.normal',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.nutstest',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.python_vs_c',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.rsv',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.simpletest',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.speedtest_pymc3',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.stochastic_volatility',) ... ERROR
pymc3.tests.test_examples.test_examples2('pymc3.examples.tutorial',) ... ERROR
pymc3.tests.test_hmc.test_leapfrog_reversible ... ERROR
pymc3.tests.test_memo.test_memo ... ok
pymc3.tests.test_missing.test_missing ... ERROR
pymc3.tests.test_missing.test_missing_pandas ... ERROR
pymc3.tests.test_model_func.test_lop ... ok
pymc3.tests.test_model_func.test_dlogp ... ERROR
pymc3.tests.test_model_func.test_dlogp2 ... ERROR
pymc3.tests.test_model_func.test_deterministic ... ok
test_merge_traces_nonunique (pymc3.tests.test_ndarray_backend.TestMultiTrace) ... ERROR
test_multitrace_nonunique (pymc3.tests.test_ndarray_backend.TestMultiTrace) ... ERROR
test_clean_interrupt (pymc3.tests.test_ndarray_backend.TestNDArray0dSampling) ... ERROR
test_standard_close (pymc3.tests.test_ndarray_backend.TestNDArray0dSampling) ... ERROR
ERROR
test_clean_interrupt (pymc3.tests.test_ndarray_backend.TestNDArray1dSampling) ... ERROR
test_standard_close (pymc3.tests.test_ndarray_backend.TestNDArray1dSampling) ... ERROR
ERROR
test_clean_interrupt (pymc3.tests.test_ndarray_backend.TestNDArray2dSampling) ... ERROR
test_standard_close (pymc3.tests.test_ndarray_backend.TestNDArray2dSampling) ... ERROR
ERROR
test_combine_false_squeeze_false (pymc3.tests.test_ndarray_backend.TestSqueezeCat) ... ok
test_combine_false_squeeze_true_more_than_one_item (pymc3.tests.test_ndarray_backend.TestSqueezeCat) ... ok
test_combine_false_squeeze_true_one_item (pymc3.tests.test_ndarray_backend.TestSqueezeCat) ... ok
test_combine_true_squeeze_false (pymc3.tests.test_ndarray_backend.TestSqueezeCat) ... ok
test_combine_true_squeeze_true (pymc3.tests.test_ndarray_backend.TestSqueezeCat) ... ok
pymc3.tests.test_plots.test_plots ... ERROR
pymc3.tests.test_plots.test_plots_multidimensional ... ERROR
pymc3.tests.test_plots.test_multichain_plots ... ERROR
pymc3.tests.test_plots.test_make_2d ... ok
pymc3.tests.test_profile.test_profile_model ... ERROR
pymc3.tests.test_profile.test_profile_variable ... ERROR
pymc3.tests.test_profile.test_profile_count ... ERROR
test_choose_backend_invalid (pymc3.tests.test_sampling.TestChooseBackend) ... ok
test_choose_backend_list_of_variables (pymc3.tests.test_sampling.TestChooseBackend) ... ok
test_choose_backend_none (pymc3.tests.test_sampling.TestChooseBackend) ... ok
test_choose_backend_shortcut (pymc3.tests.test_sampling.TestChooseBackend) ... ok
ERROR
pymc3.tests.test_sampling.test_iter_sample ... ERROR
pymc3.tests.test_sampling.test_soft_update_all_present ... ok
pymc3.tests.test_sampling.test_soft_update_one_missing ... ok
pymc3.tests.test_sampling.test_soft_update_empty ... ok
pymc3.tests.test_shared.test_deterministic ... ok
ERROR
ERROR
pymc3.tests.test_distributions.test_binomial ... ERROR
ERROR
ERROR
test_clean_interrupt (pymc3.tests.test_sqlite_backend.TestSQlite0dSampling) ... ERROR
test_standard_close (pymc3.tests.test_sqlite_backend.TestSQlite0dSampling) ... ERROR
test_clean_interrupt (pymc3.tests.test_sqlite_backend.TestSQlite1dSampling) ... ERROR
test_standard_close (pymc3.tests.test_sqlite_backend.TestSQlite1dSampling) ... ERROR
test_clean_interrupt (pymc3.tests.test_sqlite_backend.TestSQlite2dSampling) ... ERROR
test_standard_close (pymc3.tests.test_sqlite_backend.TestSQlite2dSampling) ... ERROR
pymc3.tests.test_starting.test_accuracy_normal ... ERROR
pymc3.tests.test_starting.test_accuracy_non_normal ... ERROR
pymc3.tests.test_starting.test_errors ... ERROR
pymc3.tests.test_starting.test_find_MAP_discrete ... ERROR
pymc3.tests.test_starting.test_find_MAP ... ERROR
ERROR
Test autocorrelation and autocovariance functions ... ERROR
Test deviance information criterion calculation ... ERROR
Test that deviance information criterion calculation warns when an RV is transformed ... ERROR
Test widely available information criterion calculation ... ERROR
Test HPD calculation ... ERROR
Test make_indices function ... ok
Test batch standard deviation function ... ok
Test quantiles function ... ERROR
pymc3.tests.test_stats.test_summary_0d_variable_model ... ERROR
pymc3.tests.test_stats.test_summary_1d_variable_model ... ERROR
pymc3.tests.test_stats.test_summary_2d_variable_model ... ERROR
pymc3.tests.test_stats.test_summary_format_values ... ok
pymc3.tests.test_stats.test_stat_summary_format_hpd_values ... ok
pymc3.tests.test_stats.test_calculate_stats_0d_variable ... ok
pymc3.tests.test_stats.test_calculate_stats_variable_1d_variable ... ok
pymc3.tests.test_stats.test_calculate_pquantiles_0d_variable ... ok
pymc3.tests.test_stats.test_stats_value_line ... ok
pymc3.tests.test_stats.test_post_quantile_value_line ... ok
pymc3.tests.test_stats.test_stats_output_lines_0d_variable ... ok
pymc3.tests.test_stats.test_stats_output_lines_1d_variable ... ok
pymc3.tests.test_stats.test_stats_output_lines_2d_variable ... ok
pymc3.tests.test_stats.test_stats_output_HPD_interval_format ... ok
pymc3.tests.test_stats.test_posterior_quantiles_output_lines_0d_variable ... ok
pymc3.tests.test_stats.test_posterior_quantiles_output_lines_1d_variable ... ok
pymc3.tests.test_stats.test_posterior_quantiles_output_lines_2d_variable ... ok
pymc3.tests.test_stats.test_groupby_leading_idxs_0d_variable ... ok
pymc3.tests.test_stats.test_groupby_leading_idxs_1d_variable ... ok
pymc3.tests.test_stats.test_groupby_leading_idxs_2d_variable ... ok
pymc3.tests.test_stats.test_groupby_leading_idxs_3d_variable ... ok
ERROR
Test that samplers correctly create non-blocked compound steps. ... ERROR
ERROR
pymc3.tests.test_step.test_constant_step ... ERROR
pymc3.tests.test_step.test_assign_step_methods ... ERROR
ERROR
test_clean_interrupt (pymc3.tests.test_text_backend.TestText0dSampling) ... ERROR
test_standard_close (pymc3.tests.test_text_backend.TestText0dSampling) ... ERROR
ERROR
test_clean_interrupt (pymc3.tests.test_text_backend.TestText1dSampling) ... ERROR
test_standard_close (pymc3.tests.test_text_backend.TestText1dSampling) ... ERROR
ERROR
test_clean_interrupt (pymc3.tests.test_text_backend.TestText2dSampling) ... ERROR
test_standard_close (pymc3.tests.test_text_backend.TestText2dSampling) ... ERROR
ERROR
ERROR
ERROR
ERROR
pymc3.tests.test_tracetab.test_create_flat_names_0d ... ok
pymc3.tests.test_tracetab.test_create_flat_names_1d ... ok
pymc3.tests.test_tracetab.test_create_flat_names_2d ... ok
pymc3.tests.test_tracetab.test_create_flat_names_3d ... ok
pymc3.tests.test_transforms.test_simplex ... ERROR
pymc3.tests.test_transforms.test_simplex_bounds ... ERROR
pymc3.tests.test_transforms.test_simplex_jacobian_det ... ERROR
pymc3.tests.test_transforms.test_sum_to_1 ... ERROR
pymc3.tests.test_transforms.test_sum_to_1_jacobian_det ... ERROR
pymc3.tests.test_transforms.test_log ... ERROR
pymc3.tests.test_transforms.test_logodds ... ERROR
pymc3.tests.test_distributions.test_betabin ... ERROR
pymc3.tests.test_tuning.test_adjust_precision ... ok
pymc3.tests.test_tuning.test_guess_scaling ... ERROR
pymc3.tests.test_distributions.test_wald_scipy ... ERROR
pymc3.tests.test_distributions.test_wald(0.5, 0.001, 0.5, None, 0.0, -124500.7257914) ... ok
pymc3.tests.test_distributions.test_wald(1.0, 0.5, 0.001, None, 0.0, -4.3733162) ... ok
pymc3.tests.test_distributions.test_wald(2.0, 1.0, None, None, 0.0, -2.2086593) ... ok
pymc3.tests.test_distributions.test_wald(5.0, 2.0, 2.5, None, 0.0, -3.43745) ... ERROR
pymc3.tests.test_distributions.test_wald(7.5, 5.0, None, 1.0, 0.0, -3.2199074) ... ERROR
pymc3.tests.test_distributions.test_wald(15.0, 10.0, None, 0.75, 0.0, -4.0360623) ... ERROR
pymc3.tests.test_distributions.test_wald(50.0, 15.0, None, 0.66666, 0.0, -6.1801249) ... ERROR
pymc3.tests.test_distributions.test_wald(0.5, 0.001, 0.5, None, 0.0, -124500.7257914) ... ERROR
pymc3.tests.test_distributions.test_wald(1.0, 0.5, 0.001, None, 0.5, -3.3330954) ... ERROR
pymc3.tests.test_distributions.test_wald(2.0, 1.0, None, None, 1.0, -0.9189385) ... ERROR
pymc3.tests.test_distributions.test_wald(5.0, 2.0, 2.5, None, 2.0, -2.2128783) ... ERROR
pymc3.tests.test_distributions.test_wald(7.5, 5.0, None, 1.0, 2.5, -2.5283764) ... ERROR
pymc3.tests.test_distributions.test_wald(15.0, 10.0, None, 0.75, 5.0, -3.3653647) ... ERROR
pymc3.tests.test_distributions.test_wald(50.0, 15.0, None, 0.666666, 10.0, -5.6481874) ... ERROR
pymc3.tests.test_distributions.test_beta ... ERROR
pymc3.tests.test_distributions.test_pareto ... ERROR
pymc3.tests.test_distributions.test_constantdist ... ERROR
INFO (theano.gof.compilelock): Waiting for existing lock by process '31642' (I am process '32624')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
INFO (theano.gof.compilelock): Waiting for existing lock by process '31642' (I am process '31662')
INFO (theano.gof.compilelock): To manually release the lock, delete /home/zbyszek/.theano/compiledir_Linux-4.2-fc23.x86_64-x86_64-with-fedora-23-Twenty_Three-x86_64-2.7.10-64/lock_dir
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '32302' (I am process '31662')
/var/tmp/pymc3/build/lib/pymc3/examples/ARM12_6uranium.py:11: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  data['fips'] = data.stfips * 1000 + data.cntyfips
/var/tmp/pymc3/build/lib/pymc3/examples/ARM12_6uranium.py:15: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  data['lradon'] = np.log(np.where(data.activity == 0, .1, data.activity))
/var/tmp/pymc3/build/lib/pymc3/examples/ARM12_6uranium.py:21: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  unique['group'] = np.arange(len(unique))
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '31662' (I am process '32624')
test_bernoulli (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_beta (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_beta_bin (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_binomial (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_bounded (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_categorical (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ok
test_cauchy (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_constant_dist (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_dirichlet (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_discrete_uniform (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_ex_gaussian (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_exponential (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_flat (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ok
test_gamma (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_geometric (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ok
test_half_cauchy (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_half_normal (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_inverse_gamma (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_laplace (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_lkj (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... SKIP: LJK random sampling not implemented yet.
test_lognormal (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_multinomial (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_mv_normal (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_negative_binomial (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... SKIP: NegativeBinomial test always fails for unknown reason.
test_normal (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_pareto (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_poisson (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ok
test_t (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_uniform (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_wald (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... ERROR
test_wishart (pymc3.tests.test_distributions_random.ScalarParameterSamples) ... SKIP: Wishart random sampling not implemented.
See https://github.com/pymc-devs/pymc3/issues/538
pymc3.tests.test_distributions.test_mvnormal(1,) ... ok
pymc3.tests.test_distributions.test_mvnormal(2,) ... ERROR
Log probabilities calculated using the formulas in: ... ERROR
Log probabilities calculated using the formulas in: ... ERROR
Log probabilities calculated using the formulas in: ... ERROR
Log probabilities calculated using the formulas in: ... ERROR
Log probabilities calculated using the formulas in: ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.ARM12_6',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.ARM12_6uranium',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.ARM5_4',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.GHME_2013',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.LKJ_correlation',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.arbitrary_stochastic',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.banana',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.best',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.custom_dists',) ... ERROR
pymc3.tests.test_examples.test_examples0('pymc3.examples.data',) ... ok
ERROR

======================================================================
ERROR: pymc3.tests.test_diagnostics.test_gelman_rubin
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/plugins/multiprocess.py", line 812, in run
    test(orig)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 45, in __call__
    return self.run(*arg, **kwarg)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 133, in run
    self.runTest(result)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 151, in runTest
    test(result)
  File "/usr/lib64/python2.7/unittest/case.py", line 433, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
    testMethod()
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/var/tmp/pymc3/build/lib/pymc3/tests/test_diagnostics.py", line 13, in test_gelman_rubin
    random_seed=[1, 3])
  File "/var/tmp/pymc3/build/lib/pymc3/sampling.py", line 156, in sample
    return sample_func(*sample_args)
  File "/var/tmp/pymc3/build/lib/pymc3/sampling.py", line 277, in _mp_sample
    traces = p.map(argsample, args)
  File "/usr/lib64/python2.7/multiprocessing/pool.py", line 251, in map
    return self.map_async(func, iterable, chunksize).get()
  File "/usr/lib64/python2.7/multiprocessing/pool.py", line 561, in get
    self.wait(timeout)
  File "/usr/lib64/python2.7/multiprocessing/pool.py", line 556, in wait
    self._cond.wait(timeout)
  File "/usr/lib64/python2.7/threading.py", line 340, in wait
    waiter.acquire()
  File "/usr/lib/python2.7/site-packages/nose/plugins/multiprocess.py", line 276, in signalhandler
    raise TimedOutException()
TimedOutException: 'pymc3.tests.test_diagnostics.test_gelman_rubin'

======================================================================
ERROR: pymc3.tests.test_distributions.test_dirichlet(2,)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/plugins/multiprocess.py", line 812, in run
    test(orig)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 45, in __call__
    return self.run(*arg, **kwarg)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 133, in run
    self.runTest(result)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 151, in runTest
    test(result)
  File "/usr/lib64/python2.7/unittest/case.py", line 433, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
    testMethod()
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/var/tmp/pymc3/build/lib/pymc3/tests/test_distributions.py", line 431, in check_dirichlet
    dirichlet_logpdf
  File "/var/tmp/pymc3/build/lib/pymc3/tests/test_distributions.py", line 488, in pymc3_matches_scipy
    model= build_model(pymc3_dist, domain, paramdomains, extra_args)
  File "/var/tmp/pymc3/build/lib/pymc3/tests/test_distributions.py", line 611, in build_model
    'value', shape=valuedomain.shape, transform=None, **vars)
  File "/var/tmp/pymc3/build/lib/pymc3/distributions/distribution.py", line 23, in __new__
    dist = cls.dist(*args, **kwargs)
  File "/var/tmp/pymc3/build/lib/pymc3/distributions/distribution.py", line 36, in dist
    dist.__init__(*args, **kwargs)
  File "/var/tmp/pymc3/build/lib/pymc3/distributions/multivariate.py", line 88, in __init__
    self.mean = a / sum(a)
  File "/usr/lib/python2.7/site-packages/theano/tensor/var.py", line 164, in __div__
    return theano.tensor.basic.div_proxy(self, other)
  File "/usr/lib/python2.7/site-packages/theano/tensor/basic.py", line 2906, in div_proxy
    return f(x, y)
  File "/usr/lib/python2.7/site-packages/theano/gof/op.py", line 554, in __call__
    no_recycling=[])
  File "/usr/lib/python2.7/site-packages/theano/gof/op.py", line 1002, in make_thunk
    compute_map, no_recycling)
  File "/usr/lib/python2.7/site-packages/theano/gof/op.py", line 739, in make_thunk
    output_storage=node_output_storage)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1072, in make_thunk
    keep_lock=keep_lock)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1014, in __compile__
    keep_lock=keep_lock)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1441, in cthunk_factory
    key=key, lnk=self, keep_lock=keep_lock)
  File "/usr/lib/python2.7/site-packages/theano/gof/cmodule.py", line 1076, in module_from_key
    module = lnk.compile_cmodule(location)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1353, in compile_cmodule
    preargs=preargs)
  File "/usr/lib/python2.7/site-packages/theano/gof/cmodule.py", line 1988, in compile_str
    p_out = output_subprocess_Popen(cmd)
  File "/usr/lib/python2.7/site-packages/theano/misc/windows.py", line 76, in output_subprocess_Popen
    out = p.communicate()
  File "/usr/lib64/python2.7/subprocess.py", line 799, in communicate
    return self._communicate(input)
  File "/usr/lib64/python2.7/subprocess.py", line 1409, in _communicate
    stdout, stderr = self._communicate_with_poll(input)
  File "/usr/lib64/python2.7/subprocess.py", line 1463, in _communicate_with_poll
    ready = poller.poll()
  File "/usr/lib/python2.7/site-packages/nose/plugins/multiprocess.py", line 276, in signalhandler
    raise TimedOutException()
TimedOutException: 'pymc3.tests.test_distributions.test_dirichlet(2,)'

======================================================================
ERROR: pymc3.tests.test_distributions.test_dirichlet(3,)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/plugins/multiprocess.py", line 812, in run
    test(orig)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 45, in __call__
    return self.run(*arg, **kwarg)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 133, in run
    self.runTest(result)
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 151, in runTest
    test(result)
  File "/usr/lib64/python2.7/unittest/case.py", line 433, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
    testMethod()
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/var/tmp/pymc3/build/lib/pymc3/tests/test_distributions.py", line 431, in check_dirichlet
    dirichlet_logpdf
  File "/var/tmp/pymc3/build/lib/pymc3/tests/test_distributions.py", line 488, in pymc3_matches_scipy
    model= build_model(pymc3_dist, domain, paramdomains, extra_args)
  File "/var/tmp/pymc3/build/lib/pymc3/tests/test_distributions.py", line 611, in build_model
    'value', shape=valuedomain.shape, transform=None, **vars)
  File "/var/tmp/pymc3/build/lib/pymc3/distributions/distribution.py", line 23, in __new__
    dist = cls.dist(*args, **kwargs)
  File "/var/tmp/pymc3/build/lib/pymc3/distributions/distribution.py", line 36, in dist
    dist.__init__(*args, **kwargs)
  File "/var/tmp/pymc3/build/lib/pymc3/distributions/multivariate.py", line 88, in __init__
    self.mean = a / sum(a)
  File "/usr/lib/python2.7/site-packages/theano/tensor/var.py", line 164, in __div__
    return theano.tensor.basic.div_proxy(self, other)
  File "/usr/lib/python2.7/site-packages/theano/tensor/basic.py", line 2906, in div_proxy
    return f(x, y)
  File "/usr/lib/python2.7/site-packages/theano/gof/op.py", line 554, in __call__
    no_recycling=[])
  File "/usr/lib/python2.7/site-packages/theano/gof/op.py", line 1002, in make_thunk
    compute_map, no_recycling)
  File "/usr/lib/python2.7/site-packages/theano/gof/op.py", line 739, in make_thunk
    output_storage=node_output_storage)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1072, in make_thunk
    keep_lock=keep_lock)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1014, in __compile__
    keep_lock=keep_lock)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1441, in cthunk_factory
    key=key, lnk=self, keep_lock=keep_lock)
  File "/usr/lib/python2.7/site-packages/theano/gof/cmodule.py", line 1076, in module_from_key
    module = lnk.compile_cmodule(location)
  File "/usr/lib/python2.7/site-packages/theano/gof/cc.py", line 1353, in compile_cmodule
    preargs=preargs)
  File "/usr/lib/python2.7/site-packages/theano/gof/cmodule.py", line 1988, in compile_str
    p_out = output_subprocess_Popen(cmd)
  File "/usr/lib/python2.7/site-packages/theano/misc/windows.py", line 76, in output_subprocess_Popen
    out = p.communicate()
  File "/usr/lib64/python2.7/subprocess.py", line 799, in communicate
    return self._communicate(input)
  File "/usr/lib64/python2.7/subprocess.py", line 1409, in _communicate
    stdout, stderr = self._communicate_with_poll(input)
  File "/usr/lib64/python2.7/subprocess.py", line 1463, in _communicate_with_poll
    ready = poller.poll()
  File "/usr/lib/python2.7/site-packages/nose/plugins/multiprocess.py", line 276, in signalhandler
    raise TimedOutException()
TimedOutException: 'pymc3.tests.test_distributions.test_dirichlet(3,)'
...
TimedOutException: '<nose.plugins.multiprocess.NoSharedFixtureContextSuite context=TestSQLite2dSelection>'

----------------------------------------------------------------------
Ran 298 tests in 132.730s

FAILED (SKIP=8, errors=217)

Without --processes=N, tests finish successfully, albeit slowly.

superbobry commented 8 years ago

Interesting. I've tried running with --processes locally and got a lot of errors as well.

Another option is to use pytest with xdist to run the tests in parallel. I did some experiments and it seems pytest can handle almost all of the tests. The failing ones complain about model context not being active. I guess we'll need to look into that.

keszybz commented 8 years ago

pytest would work for us (xdist is not packaged for Fedora, but this is something that we should fix anyway).

keszybz commented 8 years ago

Some tests fail with:

[gw3] linux2 -- Python 2.7.10 /usr/bin/python
file /usr/lib64/python2.7/site-packages/numpy/testing/nosetester.py, line 318
      def test(self, label='fast', verbose=1, extra_argv=None,
        fixture 'self' not found
        available fixtures: tmpdir_factory, pytestconfig, cache, recwarn, monkeypatch, record_xml_property, capfd, capsys, tmpdir
        use 'py.test --fixtures [testpath]' for help on them.

/usr/lib64/python2.7/site-packages/numpy/testing/nosetester.py:318

This looks like py.test / nosetests incompatibility.

But there are also real test failures. They all seem to be related to mismatched array sizes:

____________________________ TestNDArrayTextEquality.test_get_item _____________________________
[gw9] linux2 -- Python 2.7.10 /usr/bin/python
self = <pymc3.tests.test_text_backend.TestNDArrayTextEquality testMethod=test_get_item>

    def test_get_item(self):
        for varname in self.test_point.keys():
>           npt.assert_equal(self.mtrace0[varname], self.mtrace1[varname])

pymc3/tests/backend_fixtures.py:343: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib64/python2.7/site-packages/numpy/testing/utils.py:275: in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
/usr/lib64/python2.7/site-packages/numpy/testing/utils.py:739: in assert_array_equal
    verbose=verbose, header='Arrays are not equal')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

comparison = <built-in function __eq__>
x = array([  0,   1,   2,   3,   4,   0, 100, 200, 300, 400])
y = array([  0,   1,   2,   3,   4,   0,   1,   2,   3,   4,   0, 100, 200,
       300, 400,   0, 100, 200, 300, 400])
err_msg = '', verbose = True, header = 'Arrays are not equal', precision = 6

    def assert_array_compare(comparison, x, y, err_msg='', verbose=True,
                             header='', precision=6):
        from numpy.core import array, isnan, isinf, any, all, inf
        x = array(x, copy=False, subok=True)
        y = array(y, copy=False, subok=True)

        def isnumber(x):
            return x.dtype.char in '?bhilqpBHILQPefdgFDG'

        def chk_same_position(x_id, y_id, hasval='nan'):
            """Handling nan/inf: check that x and y have the nan/inf at the same
            locations."""
            try:
                assert_array_equal(x_id, y_id)
            except AssertionError:
                msg = build_err_msg([x, y],
                                    err_msg + '\nx and y %s location mismatch:' \
                                    % (hasval), verbose=verbose, header=header,
                                    names=('x', 'y'), precision=precision)
                raise AssertionError(msg)

        try:
            cond = (x.shape==() or y.shape==()) or x.shape == y.shape
            if not cond:
                msg = build_err_msg([x, y],
                                    err_msg
                                    + '\n(shapes %s, %s mismatch)' % (x.shape,
                                                                      y.shape),
                                    verbose=verbose, header=header,
                                    names=('x', 'y'), precision=precision)
                if not cond :
>                   raise AssertionError(msg)
E                   AssertionError: 
E                   Arrays are not equal
E                   
E                   (shapes (10,), (20,) mismatch)
E                    x: array([  0,   1,   2,   3,   4,   0, 100, 200, 300, 400])
E                    y: array([  0,   1,   2,   3,   4,   0,   1,   2,   3,   4,   0, 100, 200,
E                          300, 400,   0, 100, 200, 300, 400])

/usr/lib64/python2.7/site-packages/numpy/testing/utils.py:620: AssertionError
======= 12 failed, 571 passed, 11 skipped, 3 error in 503.50 seconds =======
twiecki commented 8 years ago

Yeah, running python tests in parallel rarely works out of the box and can be a huge pain to get to work.

fonnesbeck commented 7 years ago

Closing as wontfix