提交 827b4ca6 authored 作者: Ian Goodfellow's avatar Ian Goodfellow

fixed a typo in the dev_start_guide

added a mathematical definition of Op.grad
上级 b34cccb8
...@@ -133,6 +133,22 @@ following methods: ...@@ -133,6 +133,22 @@ following methods:
forgotten. Symbolic differentiation will fail on a graph that forgotten. Symbolic differentiation will fail on a graph that
includes this Op. includes this Op.
It is important to understand that this is not meant to return
the gradient of the Op's output but rather the gradient of some
other criterion C with respect to the Op's input.
If the outputs of your op are [ f_1, ... f_n], then
``output_derivatives`` gives [ grad_{f_1} C, grad_{f_2} C, ... , grad_{f_n} C ]
If the inputs of your op are [x_1, ..., x_n], then your Op.grad should
return [ grad_{x_1} C, grad_{x_2} C, ..., grad_{x_n} C ]
where (grad_{y} z)_i = partial z / partial y_i (and i can have any
number of dimensions)
(note: in the case where i is 2 dimensional, this definition of grad
is different from the standard mathematical definition of the gradient
of a scalar with respect to a matrix, where you transpose the indices)
At a bare minimum, a new Op must define ``make_node`` and ``perform``, which have no defaults. At a bare minimum, a new Op must define ``make_node`` and ``perform``, which have no defaults.
......
...@@ -39,7 +39,7 @@ you should clone this repository like this: ...@@ -39,7 +39,7 @@ you should clone this repository like this:
.. code-block:: bash .. code-block:: bash
hg clone 'http://username:password@hg.assembla.com/theano Theano' hg clone 'http://username:password@hg.assembla.com/theano' Theano
You can also clone the code anonymously: You can also clone the code anonymously:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论