mir_eval icon indicating copy to clipboard operation
mir_eval copied to clipboard

Solves bss permutation efficiently

Open fakufaku opened this issue 6 years ago • 2 comments

The current implementation of bss_eval exhaustively tests all permutations of sources which has factorial cost. It is possible to find the permutation in quadratic time using a minimum weight matching algorithm for bipartite graphs. This algorithm is implemented by the function scipy.optimize.linear_sum_assignment. A wrapper around the scipy function is added to handle possible infinite entries in the cost matrix.

I tried to run the tests, but got some errors due to missing files.

fakufaku avatar Jul 02 '19 04:07 fakufaku

Thanks! I remember this being brought up before but I can't find any reference to it.

@faroit @aliutkus any thoughts?

craffel avatar Jul 02 '19 15:07 craffel

Hi @craffel , thanks for the reply! I've also started discussing this with @aliutkus here.

fakufaku avatar Jul 05 '19 04:07 fakufaku