fast_bss_eval icon indicating copy to clipboard operation
fast_bss_eval copied to clipboard

Any plan for supporting windowing method?

Open jc5201 opened this issue 2 years ago • 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!

jc5201 avatar Jun 13 '22 12:06 jc5201

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...

fakufaku avatar Jun 17 '22 01:06 fakufaku