[英]Is it possible to define a function that takes a different form based on the sign of the parameter in Theano
在不了解有关Theano的细节的情况下,我记得将if-else
语句转换为线性方程式的一种方法是将if
检入变量本身,将其设置为0
或1
。 然后,您可以执行以下操作:
sign = (R_t > 0) ## this is the part I don't know how exactly to do
(topEquation * sign) + (bottomEquation * (sign ^ 1))
它具有很好的属性,如果sign
为1
(或True
),则bottomEquation
将bottomEquation
,乘以1 ^ 1
或仅乘以0
。 同样,如果sign
为0
/ False
,则topEquation
退出。
需要注意的是,尽管Theano可以帮助解决这一问题-它仍然会评估两个方程,因此这可能会带来效率问题(对于每个输入,它都会运行两个方程,然后忽略其中的一个)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.