-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deprecating separation module #382
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Yes, let's disable the tests too.
@bmcfee thanks for the initiative. Before we merge this, I would guess we should get some feedback from the community. museval might be a good fit as its an implementation of the bsseval Here are some people that I would def value their opinion on how to proceed with the sdr metrics: |
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #382 +/- ##
===========================================
- Coverage 95.73% 85.47% -10.27%
===========================================
Files 19 19
Lines 2934 2946 +12
===========================================
- Hits 2809 2518 -291
- Misses 125 428 +303
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Done.
I think the precision issue will always be there as long as we're relying on unregularized least squares; even moreso if we're dynamically switching between solve() and lstsq(), as mir_eval and museval both do. This dynamic behavior, IIRC, was intended to mimic what matlab's \ operator does under the hood, and it's always seemed troublesome to me. Museval's implementation at least puts a ridge on the solve(), so it really shouldn't ever hit the lstsq path, but as I noted in the other PR thread #381 , the exception handling there isn't quite correct anymore. My not-so-humble opinion is that all of these implementations should probably be scrapped and rewritten 😅 But if we're going to do that (as a community), it should only happen once, and in a dedicated package. |
Side note: failures on 3.12 builds are due to matplotlib removeing BrokenBarHCollection. Will fix that in a separate PR. |
Is there a way to tell codecov not to worry about the separation file's lines so it hates us less? |
Jumping in the discussion here. I have written a fast I think the implementation ideas are applicable to the edit: paper link |
I'm okay with this. I don't calculate SIR, SAR and ISR anymore when evaluating source separation models/algorithms. I still calculate SDR (with a stripped fork of sigsep/bsseval), but I mostly don't use it. I mainly rely on logWMSE in combination with a few others. |
I've added separation to the omit section, but it might take a merge before codecov stops comparing to old results that did include it. |
Actually just rolled it into this one - all that needed to happen was to remove an import tweak a docstring, no actual code changes. |
da5bf81
to
e7ad7fc
Compare
Ok, I think this is good to merge now. All matplotlib issues are resolved and tests are workign out of the box. @craffel ? |
Yerp, realized this was already approved. |
This PR deprecates the separation module.
Question for @faroit - is sigsep-museval the best replacement to recommend here?
Question for @craffel - should we disable tests on the separation module? They've always been finnicky and the vast majority of build time. If we're deprecating the module anyway, I could see some benefit to disabling these tests.