是否有可能通过 theano 中的伽马函数获得黑森语


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的巨大贡献。

最新更新