mravanelli / SincNet

SincNet is a neural architecture for efficiently processing raw audio samples.
MIT License
1.11k stars 260 forks source link

Performance on emotion classification is poor? #67

Closed wrongbattery closed 4 years ago

wrongbattery commented 4 years ago

I'm try to adapt your model to emotion classification problem. I use the TIMIT config in my experiment. The result like this: loss tensor(1.6103, device='cuda:0', grad_fn=) loss tensor(nan, device='cuda:0', grad_fn=) loss tensor(nan, device='cuda:0', grad_fn=) If i do not use the norm technique, the loss isn't drop. just stay aroud 1.4 So does your model heavily depend on the hyper paramenters?

mravanelli commented 4 years ago

Have to tried to reduce the learning rate? We are using SincNet with good results on emotion recognition within the PASE project as well (https://github.com/santi-pdp/pase).

Best,

Mirco

On Fri, 13 Sep 2019 at 05:39, wrongbattery notifications@github.com wrote:

I'm try to adapt your model to emotion classification problem. I use the TIMIT config in my experiment. The result like this: loss tensor(1.6103, device='cuda:0', grad_fn=) loss tensor(nan, device='cuda:0', grad_fn=) loss tensor(nan, device='cuda:0', grad_fn=) If i do not use the norm technique, the loss isn't drop. just stay aroud 1.4 So does your model heavily depend on the hyper paramenters?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mravanelli/SincNet/issues/67?email_source=notifications&email_token=AEA2ZVR66AH2VSVSEHPK5RTQJNNUXA5CNFSM4IWN73Q2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLGDDOQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AEA2ZVRWOV5AYQNNROVLAPTQJNNUXANCNFSM4IWN73QQ .

wrongbattery commented 4 years ago

I try to change lots of hyper param but the model still can't learn. Like this epoch 0, loss_tr=1.609118 err_tr=0.739583 loss_te=1.608622 err_te=0.742000 acc=0.258000 epoch 1, loss_tr=1.608155 err_tr=0.732372 epoch 2, loss_tr=1.607144 err_tr=0.732372 epoch 3, loss_tr=1.606162 err_tr=0.732572 epoch 4, loss_tr=1.605182 err_tr=0.732372 epoch 5, loss_tr=1.604224 err_tr=0.732572 epoch 6, loss_tr=1.603268 err_tr=0.732572 epoch 7, loss_tr=1.602339 err_tr=0.732572 epoch 8, loss_tr=1.601430 err_tr=0.732973 loss_te=1.600674 err_te=0.742000 acc=0.258000 epoch 9, loss_tr=1.600528 err_tr=0.732572 epoch 10, loss_tr=1.599633 err_tr=0.732772 epoch 11, loss_tr=1.598743 err_tr=0.732171 epoch 12, loss_tr=1.597895 err_tr=0.732372 epoch 13, loss_tr=1.597049 err_tr=0.732572 epoch 14, loss_tr=1.596220 err_tr=0.732772 epoch 15, loss_tr=1.595359 err_tr=0.732572 epoch 16, loss_tr=1.594593 err_tr=0.732772 loss_te=1.593635 err_te=0.742000 acc=0.258000 epoch 17, loss_tr=1.593742 err_tr=0.732171 epoch 18, loss_tr=1.592967 err_tr=0.732772 epoch 19, loss_tr=1.592224 err_tr=0.732572 epoch 20, loss_tr=1.591450 err_tr=0.732372 epoch 21, loss_tr=1.590689 err_tr=0.732772 epoch 22, loss_tr=1.589920 err_tr=0.732772 epoch 23, loss_tr=1.589237 err_tr=0.732171 epoch 24, loss_tr=1.588476 err_tr=0.732372 loss_te=1.587358 err_te=0.742000 acc=0.258000 epoch 25, loss_tr=1.587819 err_tr=0.732973 epoch 26, loss_tr=1.587101 err_tr=0.733173 epoch 27, loss_tr=1.586401 err_tr=0.732772 epoch 28, loss_tr=1.585694 err_tr=0.732572 epoch 29, loss_tr=1.585032 err_tr=0.732772 epoch 30, loss_tr=1.584427 err_tr=0.732973 epoch 31, loss_tr=1.583760 err_tr=0.732572 epoch 32, loss_tr=1.583057 err_tr=0.732772 loss_te=1.581766 err_te=0.742000 acc=0.258000 epoch 33, loss_tr=1.582421 err_tr=0.732372 epoch 34, loss_tr=1.581831 err_tr=0.732372 epoch 35, loss_tr=1.581247 err_tr=0.732772 epoch 36, loss_tr=1.580654 err_tr=0.732772 epoch 37, loss_tr=1.579964 err_tr=0.732572 epoch 38, loss_tr=1.579459 err_tr=0.733173 epoch 39, loss_tr=1.578800 err_tr=0.732171 Btw, i will try your PASE model to see if it works

mravanelli commented 4 years ago

If you want in the PASE repository (see the dev branch where we are currently working) you can find a simple script (emorec/run_IEMOCAP_fast.py) where we provide a very simple example of a system for emotion recognition based on the IEMOCAP data. This is a minimal example, but it could be useful.

Best,

Mirco

On Sep 13, 2019 23:14, "wrongbattery" notifications@github.com wrote:

I try to change lots of hyper param but the model still can't learn. Like this epoch 0, loss_tr=1.609118 err_tr=0.739583 loss_te=1.608622 err_te=0.742000 acc=0.258000 epoch 1, loss_tr=1.608155 err_tr=0.732372 epoch 2, loss_tr=1.607144 err_tr=0.732372 epoch 3, loss_tr=1.606162 err_tr=0.732572 epoch 4, loss_tr=1.605182 err_tr=0.732372 epoch 5, loss_tr=1.604224 err_tr=0.732572 epoch 6, loss_tr=1.603268 err_tr=0.732572 epoch 7, loss_tr=1.602339 err_tr=0.732572 epoch 8, loss_tr=1.601430 err_tr=0.732973 loss_te=1.600674 err_te=0.742000 acc=0.258000 epoch 9, loss_tr=1.600528 err_tr=0.732572 epoch 10, loss_tr=1.599633 err_tr=0.732772 epoch 11, loss_tr=1.598743 err_tr=0.732171 epoch 12, loss_tr=1.597895 err_tr=0.732372 epoch 13, loss_tr=1.597049 err_tr=0.732572 epoch 14, loss_tr=1.596220 err_tr=0.732772 epoch 15, loss_tr=1.595359 err_tr=0.732572 epoch 16, loss_tr=1.594593 err_tr=0.732772 loss_te=1.593635 err_te=0.742000 acc=0.258000 epoch 17, loss_tr=1.593742 err_tr=0.732171 epoch 18, loss_tr=1.592967 err_tr=0.732772 epoch 19, loss_tr=1.592224 err_tr=0.732572 epoch 20, loss_tr=1.591450 err_tr=0.732372 epoch 21, loss_tr=1.590689 err_tr=0.732772 epoch 22, loss_tr=1.589920 err_tr=0.732772 epoch 23, loss_tr=1.589237 err_tr=0.732171 epoch 24, loss_tr=1.588476 err_tr=0.732372 loss_te=1.587358 err_te=0.742000 acc=0.258000 epoch 25, loss_tr=1.587819 err_tr=0.732973 epoch 26, loss_tr=1.587101 err_tr=0.733173 epoch 27, loss_tr=1.586401 err_tr=0.732772 epoch 28, loss_tr=1.585694 err_tr=0.732572 epoch 29, loss_tr=1.585032 err_tr=0.732772 epoch 30, loss_tr=1.584427 err_tr=0.732973 epoch 31, loss_tr=1.583760 err_tr=0.732572 epoch 32, loss_tr=1.583057 err_tr=0.732772 loss_te=1.581766 err_te=0.742000 acc=0.258000 epoch 33, loss_tr=1.582421 err_tr=0.732372 epoch 34, loss_tr=1.581831 err_tr=0.732372 epoch 35, loss_tr=1.581247 err_tr=0.732772 epoch 36, loss_tr=1.580654 err_tr=0.732772 epoch 37, loss_tr=1.579964 err_tr=0.732572 epoch 38, loss_tr=1.579459 err_tr=0.733173 epoch 39, loss_tr=1.578800 err_tr=0.732171 Btw, i will try your PASE model to see if it works

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mravanelli/SincNet/issues/67?email_source=notifications&email_token=AEA2ZVWQLOKMJWEJGMOERDTQJRJK5A5CNFSM4IWN73Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6WTAHQ#issuecomment-531443742, or mute the thread https://github.com/notifications/unsubscribe-auth/AEA2ZVRM3QJUZG5Y5GGTBZTQJRJK5ANCNFSM4IWN73QQ .

wrongbattery commented 4 years ago

Your PASE model performs very well as embeddings' input, even the code run_IEMOCAP_fast.py doesn't work well. So do you think that is it quite hard to train SINCNET from the scratch?