yes… the problem is that the point in a trace object contains also deterministic transformation, and theano function only takes input of “raw” value. Something like below should work:
import theano
complogp = like.distribution._comp_logp(theano.shared(y))
f_complogp = model.model.fastfn(complogp)
testpoint = model.test_point
y_ = []
for i in range(trace.nchains): # to get all the points from a multi trace
tr = trace._straces[i]
for point in tr:
d2 = dict((k,v) for k,v in point.items() if k in testpoint.keys())
# get prediction
y_.append(np.argmax(f_complogp(d2), axis=1))