Comments (9)
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.
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.
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.
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.
Thanks for sharing!
from mmskeleton.
@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.
@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.
@zhujiagang thank you ,I will looking for the paper that you have said
from mmskeleton.
@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)
- Radius of facial and body keypoints
- mmdet.apis HOT 1
- Using Mediapipe
- Extracting skeleton data using openpose
- Equation 6 from the ST-GCN paper HOT 1
- Project dependencies may have API risk issues
- Install mmskeleton on colab
- mean_loss: nan need help
- there is no result after i run"python mmskl.py pose_demo --gpus 1"
- Is Nvidia GPU card necessary? HOT 1
- error: Setup script exited with error: command '/usr/bin/gcc' failed with exit code 1 HOT 4
- question about run python main.py demo_offline HOT 1
- Pose estimation: The model and loaded state dict do not match exactly
- 主页开头的四宫格是如何实现的?
- How to INFERENCE in Skeleton-based Action Recognition
- Unable to get git version
- when training st-gcn the loss will turn into NAN HOT 1
- error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2 HOT 2
- ST-GCN retrain custom dataset HOT 1
- can't run setup.py HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mmskeleton.