我想使用verify_grad函数,但是我收到格式“'TensorVariable'对象不可调用”的错误。
theano.gradient.verify_grad(fun, pt, n_tests=2, rng=None, eps=None, out_type=None, abs_tol=None, rel_tol=None, mode=None, cast_to_output_type=False)
在文档中它说有趣是“一个Python函数,它将Theano变量作为输入,并返回一个Theano变量。例如,一个具有单个输出的Op实例。”
我已经浏览了文档中的图形结构部分,我认为我理解了一个操作节点是什么,但显然我没有。
E.g。如果我有两个TensorVariables x和y并且我想取它们的产品,那么*是op节点,对吗?但是,如果我声明z = x * y,那么z又是TensorVariable,对吗?
那么有没有办法如何定义一个例如op负对数似然函数,以评估该函数的梯度的正确性?或者是否有任何其他方法可以在theano中为您构建的函数获取数值梯度?