Samoht-Sann - 1 year ago 108

Python Question

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

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

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.

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**