music-source-separation icon indicating copy to clipboard operation
music-source-separation copied to clipboard

loss graph

Open balenko1992 opened this issue 8 years ago • 9 comments

have you set 100k epochs for the train execution?

our loss graph using mir-1k dataset on 20k epochs doesn't show the correct behavior, expected to be a decreasing curve. can you post your loss 21744830_10212070195602462_149376697_o graph result?

balenko1992 avatar Sep 13 '17 09:09 balenko1992

@vrosato The loss graph I've got was a lot like that of yours. When you set the smooth rate to 0.99, you probably see a decreasing loss graph. Actually I have no good explanation about why the graph is so oscillating. BTW If you have any chance, I recommend you to try L-BFGS optimization method. And then please let me know what the result become ;)

andabi avatar Sep 14 '17 08:09 andabi

thx for the answer. we set the smooth rate to 0.99 and this is the result. have you used ikala or mir-1k dataset in the training process with 100k epochs?

21744820_10212077225818213_1620220579_o

balenko1992 avatar Sep 14 '17 08:09 balenko1992

@vrosato I used only ikala (was better than mixing two) and I remember that over 20k steps training was enough to get a generalized model. I hope you get a right result.

andabi avatar Sep 14 '17 08:09 andabi

we are training the network with mir-1k dataset. after that we try with ikala dataset and the we compare the results.

for the optimizer L-BFGS we found this https://github.com/midori1/pylbfgs . is it the correct implementation?

thx

balenko1992 avatar Sep 14 '17 09:09 balenko1992

why GNSDR, GSIR, GSAR assume the same values? the paper expected results are different

balenko1992 avatar Sep 20 '17 08:09 balenko1992

did you separe the dataset for train and eval? using 175 clip for training and 825 for eval like the paper [3]

balenko1992 avatar Sep 20 '17 09:09 balenko1992

@balenko1992 yes i did, but the amount of each is not the same like that in the paper.

andabi avatar Sep 21 '17 03:09 andabi

Dear andabi,

I am trying to reproduce the work you have done. I read your code and I am writing on my own using the same neural network architecture. Although the code of mine looks quite different to yours, but I believe the core training part are the almost the same. I was using y_tilde_src1 = y_hat_src1 / (y_hat_src1 + y_hat_src2 + np.finfo(float).eps) * self.x_mixed y_tilde_src2 = y_hat_src2 / (y_hat_src1 + y_hat_src2 + np.finfo(float).eps) * self.x_mixed as the output of neural network and apply them to the MSE loss function: loss = tf.reduce_mean(tf.square(self.y_src1 - self.y_pred_src1) + tf.square(self.y_src2 - self.y_pred_src2), name = 'MSE_loss') During training, I could see training loss drop from initial 8-9 to 4 in 500 time steps (i.e. 500 mini-batches), however, after another 20K time steps, the training loss is still around 3-4. So I came here to read your post.

I wonder what is the smooth rate you guys talked above? What is the definition of epoch here (Is it number of mini-batches)? Thank you.

leimao avatar May 11 '18 14:05 leimao

why GNSDR, GSIR, GSAR assume the same values? the paper expected results are different

How do you see the GNSDR,GSIR,GSAR, I run eval.py,but I only get separation result without GNSDR,GSIR,GSAR ,How can I get it.

cheriylan avatar Aug 15 '20 05:08 cheriylan