b=T.fvector()
theano.gradient.hessian( T.gammaln(b).sum(), [b] )
给出一个未命名的NotImplementedError
。由于等效代码可以正常工作,例如 T.log
而不是T.gammaln
我猜 theano 只是不知道gammaln
的第二个推导?
gammaln 的等级使用 psi。但是我们没有实施psi的等级。
你可以在文件 theano/scalar/basic_scipy.py 中实现类 Psi 的 grad() 方法。这将使此案例起作用。
文档的这一页解释了如何在 Theano 中添加一个新的 Op,并解释了如何实现 grad() 方法: http://deeplearning.net/software/theano/extending/extending_theano.html
如果您需要帮助实现这一点,使用 theano-dev 邮件列表更适合于正在进行的讨论。
如果你这样做了,那将是对Theano的巨大贡献。