I looked up a theano variant for keras.backend.switch, beause I did not 
want both operations to be executed and I found this :
https://github.com/Theano/Theano/blob/master/theano/ifelse.py

Here it says that (lazy) ifelse executes only the branch corresponding to 
the condition and not both like switch. I tested it like this: 

    import theano

    def function1():
        print("function 1 is executed")
        return a
    
    def function2():
        print("function 2 is executed")
        return b
    a = 2
    b = 10
    result = theano.ifelse.ifelse(T.gt(b,a), function1(), function2())

But when I run this both messages are printed which means that both 
branches are executed. This is confusing since the description of ifelse 
says that it should not. Am I missing something here?

-- 

--- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to