2

我是 PyMC3 的新手 这里有一些 PyMC2 - 我是否需要做一些特定的事情,比如在 Theano 中编译才能将其转换为 PyMC3 代码?

 @pymc.deterministic
    def away_theta(home_team=home_team, 
                   away_team=away_team, 
                   home=home, 
                   atts=atts, 
                   defs=defs, 
                   intercept=intercept): 
        return np.exp(intercept + 
                      atts[away_team] + 
                      defs[home_team])   

我收到一个错误,例如

AsTensorError: ('Cannot convert home_theta to TensorType', <class 'pymc.PyMCObjects.Deterministic'>)
4

1 回答 1

3

是的,确定性转换需要是 pymc3 中的 theano 表达式。因此,您可以使用 theano.tensor.exp,而不是使用 np.exp:

import theano.tensor as T
import pymc3 as pm

with Model():
    ...
    regression = pm.Deterministic('regression', T.exp(intercept + atts[away_team] + defs[home_team]))
    ...
于 2015-06-03T20:39:47.950 回答