fakufaku/fast_bss_eval

Any plan for supporting windowing method?

jc5201 opened this issue · 1 comments

Some previous libraries like museval (https://github.com/sigsep/sigsep-mus-eval/blob/master/museval/metrics.py) or mir-eval(https://github.com/craffel/mir_eval/blob/master/mir_eval/separation.py) have parameter named 'window'.
It split large size data into multiple chunks and calculate metrics(like sdr) and aggregate them.

I tried fast_bss_eval simply replacing museval.evaluate() into fast_bss_eval.bss_eval_sources(),
but facing out of memory error (requiring 800GB memory).
If this library provide windowing methods to control the memory usage, it would be great and become more easy to use.

Anyway, thanks for your awesome implementation!

Hi @jc5201 , thanks for the feedback! It is true that I did not implement this as an option, however, all the functions natively support batching of any dimension, so you could simply reshape the input arrays into blocks with an extra batch dimension and run the functions as they are. You would probably need to do something to solve for the same permutation over all the blocks though...