Lop不需要矩阵值?

时间:2016-02-16 01:19:37

标签: theano

在theano衍生品教程中:

http://deeplearning.net/software/theano/tutorial/gradients.html#tutcomputinggrads

Lop的例子在点积中没有明确的W矩阵值。事实上,在这种情况下,偏导数会删除W分量的值,因此不需要它们。

但是,尝试与Rop类似的事情会引发错误:

theano.gof.fg.MissingInputError :(“图表的输入,用于计算点(Elemwise {second,no_inplace} .0,),未提供且未给出值。

这有什么不同?

1 个答案:

答案 0 :(得分:0)

Theano将尝试优化计算图,但它并不总是有效。

在Lop示例中,Theano可以检测到我们实际上并不需要W,但是当改为Rop时它就不能。

罗布泊的例子:

W = T.dmatrix('W')
v = T.dvector('v')
x = T.dvector('x')
y = T.dot(x, W)
VJ = T.Lop(y, W, v)
f = theano.function([v, x], VJ)
f([2, 2], [0, 1])

如果我只是将y = T.dot(x, W)更改为y = T.dot(x, W**1),Theano将无法进行优化,并向我发出相同的错误消息,说我没有提供足够的参数。

实际上在Rop示例中,如果我们更改赋予W的值,它根本不会影响结果,因为Theano未能优化它。

P.S。我发现有时Theano的文件很不清楚。