Replies: 2 comments 2 replies
-
|
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
denmonz
-
For my use-case, I want to use SI-SDR as a loss function. After some investigating, it seems as though using the |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
When computing loss, it's my understanding that
PITLossWrapper
returns an SI-SDR score as a loss when initialized with the following parameters:loss = PITLossWrapper(PairwiseNegSDR("sisdr"), pit_from='perm_avg')
but the codebase also has a function
get_metrics()
inasteroid\metrics.py
that accesses a site-packagepb_bss_eval
which also returns an SI-SDR score (among other metrics). One major difference being thatPITLossWrapper
works well with the tensors stored on GPU, whereasget_metrics ()
errors inpb_bss_eval\evaluation\module_si_sdr.py
line 37, stating that the tensors must first be detatched from GPU and stored on CPU in order for the computations to be done. Another difference being thatPITLossWrapper
works with batches, but forget_metrics()
, you need to iterate over each instance in the batch and manually average the values.So my questions are:
PITLossWrapper
and the SI-SDR score retrieved fromget_metrics()
andevaluation\
folder to work with tensors stored on GPU?Beta Was this translation helpful? Give feedback.
All reactions