You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The only way I could figure out is to implement a custom functionlogmmexp(a, b), where we need to compute a_k + b_k twice (Since we don't want to store the super large intermedia tensor).
At first time, reduce a_k + b_k to obtain max values, then we can get maxSum in shape (B, T, U);
At second time, compute logsumexp(a_k + b_k - maxSum)+maxSum at each position.
In current implementation, emissions and the predictions subtract their own maximum values respectively. But consider this case
I also tried convert emission and prediction into FP64 before calculating the logNorm, but it still didn't work in my asr experiment.
The broadcast-sum way is more numerical stable, but would consume
O(B*T*U*V)
memory.transducer/transducer/torch_binding.py
Lines 162 to 167 in e90c6f4
The text was updated successfully, but these errors were encountered: