Код PyMC3 и Theano – Theano, который работает, перестает работать после импорта pymc3

Какой-то простой код anano, который отлично работает, перестает работать, когда я импортирую pymc3

Здесь некоторые снайперы, чтобы воспроизвести ошибку:

#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 

И я получаю следующую ошибку для каждого из предыдущих фрагментов:

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

Есть идеи ? заранее спасибо

Я думаю, что это связано с установкой theano.config.compute_test_value = 'raise' : https://github.com/pymc-devs/pymc3/blob/master/pymc3/model.py#L395

Вы можете явно указать theano.config.compute_test_value обратно в 'ignore' чтобы избавиться от этой ошибки.

Решение, предлагаемое здесь, длится немного дольше, чем установка флага. В вашем типе оболочки:

 theano-cache purge