2015-05-14 11 views
8

Niektóre prosty kod Theano że działa idealnie, przestaje działać, kiedy importować pymc3PyMC3 & Theano - kod Theano który działa przestać działać po imporcie pymc3

Oto kilka snipets w celu odtworzenia błędu:

#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 

I pojawia się następujący błąd dla każdego z poprzednich fragmentów:

--------------------------------------------------------------------------- 
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 

jakieś pomysły? Dzięki z góry

Odpowiedz

2

Proponowane rozwiązanie here trwa nieco dłużej niż ustawienie flagi. W twoim typie powłoki:

theano-cache purge 
Powiązane problemy