I try to estimate parameters with a custom complex likelihood function (with 5 parameters to be estimated) using pm.DensityDist:
with pm.Model() as model:
# Define priors for unknown model parameters
mu_1 = pm.Normal("mu_1", mu=0, sigma=10)
mu_1_prime = pm.Normal("mu_1_prime", mu=0, sigma=10)
sigma = pm.Normal("sigma", mu=1, sigma=10)
sigma_1 = pm.Normal("sigma_1", mu=1, sigma=10)
alpha = pm.Normal("alpha_1", mu=1, sigma=10)
# Define likelihood
def loglikelihood(dL_list, dt_list):
res = 0
for i in range(145):
dL = dL_list[i]
dt = dt_list[i]
U1 = U1fun(dL, dt, mu_1,sigma_1,sigma)
U2 = U2fun(dL, dt, mu_1_prime,sigma_1,sigma)
u1 = u1fun(dL, dt, mu_1,sigma_1,sigma)
u2 = u2fun(dL, dt, mu_1_prime,sigma_1,sigma)
res1 = - 0.5 * np.log(1-alpha**2) - 0.5*(u1*2 + u2**2 - 2*alpha*u1*u2) / (1-alpha**2) #Copula function pdf
res2 = - 0.5 * np.log(sigma_1**2 * dt**2 + 2 * sigma**2) - 0.5 * np.log(sigma_1**2 * dt**2 + sigma**2 * dt)
res3 = - 0.5 * (U1**2+U2**2)
res += res1 + res2 + res3
return res
likelihood = pm.DensityDist(
"loglikelihood", loglikelihood, observed = {'dL_list':dL_list, 'dt_list':dt_list})
# Sampling
step = pm.Metropolis()
trace = pm.sample(3000, step=step)
The custom likelihood function is quite complex, , and dL_list and dt_list are those input data. Other functions are like:
def normpdf(x, mu, sigma):
return 1./(sigma * pm.math.sqrt(2 * np.pi)) * pm.math.exp(-(x-mu)**2 / (2 * sigma**2))
def normcdf(x, mu, sigma):
return 1./2.*(1 + pm.math.erf((x-mu)/(sigma*pm.math.sqrt(2))))
def U1fun(dL, dt, mu_1,sigma_1,sigma):
return (dL - mu_1 * dt) / (sigma_1 * dt + pm.math.sqrt(2) * sigma)
def U2fun(dL, dt, mu_1_prime,sigma_1,sigma):
return (dL - mu_1_prime * dt) / (sigma_1 * dt + pm.math.sqrt(dt) * sigma)
def u1fun(dL, dt, mu_1,sigma_1,sigma):
return normcdf(U1fun(dL, dt, mu_1,sigma_1,sigma),0,1)
def u2fun(dL, dt, mu_1_prime,sigma_1,sigma):
return normcdf(U2fun(dL, dt, mu_1_prime,sigma_1,sigma),0,1)
But I got an error in the last row AttributeError: 'Scratchpad' object has no attribute 'ufunc' Apply node that caused the error. I don't understand the hint and tried several ways but always failed to generate sampling traces, neither find_MAP. Much appreciated if anyone could help.
AttributeError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\theano\link\vm.py in __call__(self)
312 ):
--> 313 thunk()
314 for old_s in old_storage:
~\Anaconda3\lib\site-packages\theano\graph\op.py in rval(p, i, o, n)
475 def rval(p=p, i=node_input_storage, o=node_output_storage, n=node):
--> 476 r = p(n, [x[0] for x in i], o)
477 for o in node.outputs:
~\Anaconda3\lib\site-packages\theano\tensor\elemwise.py in perform(self, node, inputs, output_storage)
819 else:
--> 820 ufunc = node.tag.ufunc
821 else:
AttributeError: 'Scratchpad' object has no attribute 'ufunc'
During handling of the above exception, another exception occurred:
AttributeError Traceback (most recent call last)
<ipython-input-77-abc5c0bd756f> in <module>
13
14 # Sampling
---> 15 start = pm.find_MAP(fmin=optimize.fmin_powell)
16 step = pm.Metropolis()
17 optimizer=None
~\AppData\Roaming\Python\Python37\site-packages\pymc3\tuning\starting.py in find_MAP(start, vars, method, return_raw, include_transformed, progressbar, maxeval, model, *args, **kwargs)
104 else:
105 update_start_vals(start, model.test_point, model)
--> 106 check_start_vals(start, model)
107
108 start = Point(start, model=model)
~\AppData\Roaming\Python\Python37\site-packages\pymc3\util.py in check_start_vals(start, model)
232 )
233
--> 234 initial_eval = model.check_test_point(test_point=elem)
235
236 if not np.all(np.isfinite(initial_eval)):
~\AppData\Roaming\Python\Python37\site-packages\pymc3\model.py in check_test_point(self, test_point, round_vals)
1382
1383 return Series(
-> 1384 {RV.name: np.round(RV.logp(test_point), round_vals) for RV in self.basic_RVs},
1385 name="Log-probability of test_point",
1386 )
~\AppData\Roaming\Python\Python37\site-packages\pymc3\model.py in <dictcomp>(.0)
1382
1383 return Series(
-> 1384 {RV.name: np.round(RV.logp(test_point), round_vals) for RV in self.basic_RVs},
1385 name="Log-probability of test_point",
1386 )
~\AppData\Roaming\Python\Python37\site-packages\pymc3\model.py in __call__(self, *args, **kwargs)
1559 def __call__(self, *args, **kwargs):
1560 point = Point(model=self.model, *args, **kwargs)
-> 1561 return self.f(**point)
1562
1563
~\Anaconda3\lib\site-packages\theano\compile\function\types.py in __call__(self, *args, **kwargs)
973 outputs = (
974 self.fn()
--> 975 if output_subset is None
976 else self.fn(output_subset=output_subset)
977 )
~\Anaconda3\lib\site-packages\theano\link\vm.py in __call__(self)
315 old_s[0] = None
316 except Exception:
--> 317 raise_with_op(self.fgraph, node, thunk)
318
319
~\Anaconda3\lib\site-packages\theano\link\utils.py in raise_with_op(fgraph, node, thunk, exc_info, storage_map)
506 # Some exception need extra parameter in inputs. So forget the
507 # extra long error message in that case.
--> 508 raise exc_value.with_traceback(exc_trace)
509
510
~\Anaconda3\lib\site-packages\theano\link\vm.py in __call__(self)
311 self.thunks, self.nodes, self.post_thunk_clear
312 ):
--> 313 thunk()
314 for old_s in old_storage:
315 old_s[0] = None
~\Anaconda3\lib\site-packages\theano\graph\op.py in rval(p, i, o, n)
474 # default arguments are stored in the closure of `rval`
475 def rval(p=p, i=node_input_storage, o=node_output_storage, n=node):
--> 476 r = p(n, [x[0] for x in i], o)
477 for o in node.outputs:
478 compute_map[o][0] = True
~\Anaconda3\lib\site-packages\theano\tensor\elemwise.py in perform(self, node, inputs, output_storage)
818 ufunc = self.ufunc
819 else:
--> 820 ufunc = node.tag.ufunc
821 else:
822 ufunc = node.tag.ufunc
AttributeError: 'Scratchpad' object has no attribute 'ufunc'
Apply node that caused the error: Elemwise{add,no_inplace}(Elemwise{Composite{(i0 * (((Composite{erfc(((i0 * i1) / i2))}(i1, i2, i3) / i4) + (sqr((i0 * Composite{erfc(((i0 * i1) / i2))}(i1, i5, i3))) / i4)) - ((i0 * i6 * Composite{erfc(((i0 * i1) / i2))}(i1, i2, i3) * Composite{erfc(((i0 * i1) / i2))}(i1, i5, i3)) / i4)))}}.0, ...... Elemwise{Composite{(i0 * (((Composite{erfc(((i0 * i1) / i2))}(i1, i2, i3) / i4) + (sqr((i0 * Composite{erfc(((i0 * i1) / i2))}(i1, i5, i3))) / i4)) - ((i0 * i6 * Composite{erfc(((i0 * i1) / i2))}(i1, i2, i3) * Composite{erfc(((i0 * i1) / i2))}(i1, i5, i3)) / i4)))}}.0, Elemwise{mul,no_inplace}.0, Elemwise{Composite{(i0 * (((Composite{erfc(((i0 * i1) / i2))}(i1, i2, i3) / i4) + (sqr((i0 * Composite{erfc(((i0 * i1) / i2))}(i1, i5, i3))) / i4)) - ((i0 * i6 * Composite{erfc(((i0 * i1) / i2))}(i1, i2, i3) * Composite{erfc(((i0 * i1) / i2))}(i1, i5, i3)) / i4)))}}.0, Elemwise{mul,no_inplace}.0)
Toposort index: 442
Inputs types: [TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar)]
Inputs shapes: [(), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ()]
Inputs strides: [(), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ()]
Inputs values: [array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973), array(nan), array(0.89587973)]
Outputs clients: [[Elemwise{sub,no_inplace}(Elemwise{add,no_inplace}.0, Elemwise{add,no_inplace}.0)]]
HINT: Re-running with most Theano optimization disabled could give you a back-trace of when this node was created. This can be done with by setting the Theano flag 'optimizer=fast_compile'. If that does not work, Theano optimizations can be disabled with 'optimizer=None'.
HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of this apply node.