我试图从这里使用我自己的logsumexp()
修改版本:
https://github.com/scipy/scipy/blob/v0.14.0/scipy/misc/common.py#L18
在第85行,是这个计算:
out = log(sum(exp(a - a_max), axis=0))
但我有一个门槛,我不希望a - a_max
超过该门槛。
有没有办法进行条件计算,只有在差值不小于阈值时才允许减法。
如下所示:
out = log(sum(exp( (a - a_max < threshold) ? threshold : a - a_max), axis = 0))
答案 0 :(得分:1)
怎么样
out = log(sum(exp( threshold if a - a_max < threshold else a - a_max), axis = 0))
答案 1 :(得分:1)
Python中有一个条件内联语句:
Value1 if Condition else Value2
您的公式转换为:
out = log(sum(exp(threshold if a - a_max < threshold else a - a_max), axis = 0))