Giter Club home page Giter Club logo

Comments (9)

zhujiagang avatar zhujiagang commented on July 19, 2024 3

I've recently tried a lot of data proprecessing techniques. I found that when a sample is subtracted by its frame center like https://github.com/hongsong-wang/RNN-for-skeletons/blob/7a90f8969ac00f24fd2578a7ea4e5b5b3bce6555/rnn_model.py#L76 or starting frame center like view adaptive LSTM, the training and testing become stable and the testing accuracy no longer decreases. I believe that normalizing the samples to the same spatial position is beneficial for the training and could bridge the gap between the different distributions of training and testing sets of NTU RGB-D and other datasets.
However, the training of ST-GCN is stable without any data proprecessing techniques. A great model!

from mmskeleton.

yysijie avatar yysijie commented on July 19, 2024

Hi, jiagang

Thank you for your interest in our work.

Yes, we observed the same phenomenon in the training process.
We suspect that this is because of the characteristics of NTU-RGB-D, in which the distributions of data from the test set and training set are quite different. This gap results in the instability of the learning.
Try to finish a complete training process. According to our experience, after 40~60 epochs, the testing loss will gradually converge.

from mmskeleton.

zhujiagang avatar zhujiagang commented on July 19, 2024

Thanks for your reply!
What do you mean 'a complete training process' ? Should I select a learning rate e.g. 0.1, train for 40~60 epochs, then select the best model as the new start point and decrease the learning rate?

from mmskeleton.

yysijie avatar yysijie commented on July 19, 2024

If you want to reproduce our results, just use the default hyper-parameters.
In our experiments, we selected the hyper-parameters of our st-gcn casually. But they work well.
If you want to modify the hyper-parameters manually and precisely in NTU-RGB-D, you should split the training set into 2 parts. One for training, and one for validation. Or you can not find the right point to decrease the learning rate. ( Because there is a gap between the distributions of the training set and test set ).

from mmskeleton.

yjxiong avatar yjxiong commented on July 19, 2024

Thanks for sharing!

from mmskeleton.

YanYan0716 avatar YanYan0716 commented on July 19, 2024

@zhujiagang @yysijie thank you to share your experiences to us. I have meet the same question as you, a large gap between training and testing. as you say,the normalizing is beneficial for the training, is it means to normalize the Position coordinates??? as a learner in this field,I am looking for you reply

from mmskeleton.

zhujiagang avatar zhujiagang commented on July 19, 2024

@yanqian123 Yes. The coordinates of a sequence should be subtracted by its center coordinate of center frame or its starting frame center. You could refer to the code link above and view adaptive LSTM paper.

from mmskeleton.

YanYan0716 avatar YanYan0716 commented on July 19, 2024

@zhujiagang thank you ,I will looking for the paper that you have said

from mmskeleton.

ttthappy avatar ttthappy commented on July 19, 2024

@zhujiagang thank you for sharing your experiences. I want to train the st-gcn model in NTU RGB+D dataset. I use the old version code with default parameters. But, after more 80 epoch's training I got poor result. Then I modify the learning rate according to your paper, but the accuracy is still poor(Top1: 1.67%, Top5: 8.27%). As a new student in this field, I was puzzled if I missed some details. Hope your reply. Thanks a lot.
[ Sat Dec 22 18:59:51 2018 ] Training epoch: 80
[ Sat Dec 22 19:00:03 2018 ] Batch(0/589) done. Loss: 4.1821 lr:0.001000
[ Sat Dec 22 19:03:31 2018 ] Batch(100/589) done. Loss: 4.1529 lr:0.001000
[ Sat Dec 22 19:06:57 2018 ] Batch(200/589) done. Loss: 4.1635 lr:0.001000
[ Sat Dec 22 19:10:27 2018 ] Batch(300/589) done. Loss: 4.1190 lr:0.001000
[ Sat Dec 22 19:13:55 2018 ] Batch(400/589) done. Loss: 4.1429 lr:0.001000
[ Sat Dec 22 19:17:22 2018 ] Batch(500/589) done. Loss: 4.1611 lr:0.001000
[ Sat Dec 22 19:20:24 2018 ] Mean training loss: 4.1409.
[ Sat Dec 22 19:20:24 2018 ] Time consumption: [Data]01%, [Network]99%
[ Sat Dec 22 19:20:24 2018 ] Eval epoch: 80
[ Sat Dec 22 19:24:07 2018 ] Mean test loss of 296 batches: 4.106204550008516.
[ Sat Dec 22 19:24:08 2018 ] Top1: 1.26%
[ Sat Dec 22 19:24:08 2018 ] Top5: 9.44%

modify the learning rate according to your paper:

[ Tue Dec 25 06:20:27 2018 ] Training epoch: 20
[ Tue Dec 25 06:20:48 2018 ] Batch(0/589) done. Loss: 4.5612 lr:0.001000
[ Tue Dec 25 06:25:36 2018 ] Batch(100/589) done. Loss: 4.8982 lr:0.001000
[ Tue Dec 25 06:30:21 2018 ] Batch(200/589) done. Loss: 4.5673 lr:0.001000
[ Tue Dec 25 06:35:04 2018 ] Batch(300/589) done. Loss: 4.6968 lr:0.001000
[ Tue Dec 25 06:39:46 2018 ] Batch(400/589) done. Loss: 4.5363 lr:0.001000
[ Tue Dec 25 06:44:30 2018 ] Batch(500/589) done. Loss: 4.4839 lr:0.001000
[ Tue Dec 25 06:48:41 2018 ] Mean training loss: 4.6989.
[ Tue Dec 25 06:48:41 2018 ] Time consumption: [Data]01%, [Network]99%
[ Tue Dec 25 06:48:41 2018 ] Eval epoch: 20
[ Tue Dec 25 06:53:54 2018 ] Mean test loss of 296 batches: 4.28557998747439.
[ Tue Dec 25 06:53:54 2018 ] Top1: 1.52%
[ Tue Dec 25 06:53:55 2018 ] Top5: 8.95%

from mmskeleton.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.