Some simple theano code that works perfectly, stop working when I import pymc3
Here some snipets in order to reproduce the error:
#Initial Theano Code (this works)
import theano.tensor as tsr
x = tsr.dscalar('x')
y = tsr.dscalar('y')
z = x + y
#Snippet 1
import pymc3 as pm
import theano.tensor as tsr
x = tsr.dscalar('x')
y = tsr.dscalar('y')
z = x + y
#Snippet 2
import theano.tensor as tsr
import pymc3 as pm
x = tsr.dscalar('x')
y = tsr.dscalar('y')
z = x + y
#Snippet 3
import pymc3 as pm
x = pm.theano.tensor.dscalar('x')
y = pm.theano.tensor.dscalar('y')
z = x + y
And I get the following error for each of the previous snippets:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/Users/tom/anaconda/lib/python3.4/site-packages/theano/gof/op.py in __call__(self, *inputs, **kwargs)
516 try:
--> 517 storage_map[ins] = [self._get_test_value(ins)]
518 compute_map[ins] = [True]
/Users/tom/anaconda/lib/python3.4/site-packages/theano/gof/op.py in _get_test_value(cls, v)
478
--> 479 raise AttributeError('%s has no test value' % v)
480
AttributeError: x has no test value
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
<ipython-input-2-ef8582b040f8> in <module>()
3 x = pm.theano.tensor.dscalar('x')
4 y = pm.theano.tensor.dscalar('y')
----> 5 z = x + y
/Users/tom/anaconda/lib/python3.4/site-packages/theano/tensor/var.py in __add__(self, other)
126 def __add__(self, other):
127 try:
--> 128 return theano.tensor.basic.add(self, other)
129 # We should catch the minimum number of exception here.
130 # Otherwise this will convert error when Theano flags
/Users/tom/anaconda/lib/python3.4/site-packages/theano/gof/op.py in __call__(self, *inputs, **kwargs)
523 run_perform = False
524 elif config.compute_test_value == 'raise':
--> 525 raise ValueError('Cannot compute test value: input %i (%s) of Op %s missing default value' % (i, ins, node))
526 elif config.compute_test_value == 'ignore':
527 # silently skip test
ValueError: Cannot compute test value: input 0 (x) of Op Elemwise{add,no_inplace}(x, y) missing default value
Any Ideas ? Thanks in advance
PyMC3 is a probabilistic programming package for Python that allows users to fit Bayesian models using a variety of numerical methods, most notably Markov chain Monte Carlo (MCMC) and variational inference (VI). Its flexibility and extensibility make it applicable to a large suite of problems.
PyMC3 is the current version of the PyMC open source probabilistic programming framework for Python, having been forked over 1,300 times and starred over 5,400 times on GitHub.
I think this is related to pymc3
setting theano.config.compute_test_value = 'raise'
: https://github.com/pymc-devs/pymc3/blob/master/pymc3/model.py#L395
You can explicitly set theano.config.compute_test_value
back to 'ignore'
to get rid of the error.
Solution proposed here lasts a bit longer than setting the flag. In your shell type:
theano-cache purge
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With