I have the following code:

>>> a = T.fmatrix()
>>> b = T.sqr(a)
>>> c = T.nnet.sigmoid(a)
>>> g = T.fmatrix()
>>> d = T.Lop(c, a, g)
>>> f = theano.function([a, g], d)

Using debug print I get:

>>> theano.printing.debugprint(f)
Elemwise{mul} [id A] ''   5
 |Elemwise{mul} [id B] ''   3
 | |<TensorType(float32, matrix)> [id C]
 | |Elemwise{scalar_sigmoid} [id D] ''   1
 |   |<TensorType(float32, matrix)> [id E]
 |Elemwise{sub} [id F] ''   4
   |InplaceDimShuffle{x,x} [id G] ''   2
   | |TensorConstant{1.0} [id H]
   |Elemwise{scalar_sigmoid} [id I] ''   0
     |<TensorType(float32, matrix)> [id E]

My question is why does it compute the Sigmoid 2 times, when it can just 
reuse that computation? Or if it does this how can I notice it on the 
graph. I have not switched any of the optimisations.

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to theano-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to