UttaranB127 / STEP

Spatial Temporal Graph Convolutional Networks for Emotion Perception from Gaits
https://gamma.umd.edu/step
MIT License
69 stars 12 forks source link

Excuse me. I need your help regarding data partitioning #21

Open YuzRainy opened 9 months ago

YuzRainy commented 9 months ago

Hi, Uttaran I have some question for your paper and code.

  1. In your paper, training set:validation set:test set=7:2:1 But actually, in the open code, it is Training:Test = 9:1. which one should I use?

  2. Your paper describes that the addition of 29-dim affective features will give a great improvement in the classification accuracy, but when I run your code, the experimental results are instead reduced with a great overfitting, what is the reason for this?

    Thank you! : )

UttaranB127 commented 9 months ago

Hi, we used some part of the training data (90% of the total data) for validation, that's why the reported split is 7:2:1. The overfitting problem may go away if you train with 70% of the total data. Otherwise, try training for fewer epochs.

YuzRainy commented 9 months ago

Thanks for your kind reply! I see in the load_data( ), you split the total data into training data (90% of the total data) and testing data(10% of the total data), but it doesn't seem to split the training data (90% of the total data) again during training.(in processor.py ). The code looks like use testing data(10% of the total data) for validation during training.

To better express what I mean, I have excerpted some STEP code below, please take a look at it.

load_data( )

data_train, data_test, labels_train, labels_test = train_test_split(data, labels, test_size=0.1)

processor.py

def  train(self):         
# training
self.per_train()
# evaluation
if (epoch % self.args.eval_interval == 0) or (epoch + 1 == self.args.num_epoch):
self.per_test()
def per_train(self):
loader = self.data_loader['train']
def per_test(self, evaluation=True):
self.model.eval()
loader = self.data_loader['test']
UttaranB127 commented 9 months ago

Yes, apologies. There might be some mismatches in the uploaded version of the code as we had experimented with multiple variants after the original submission. But the code has been out of maintenance since the last 3 years. Thanks for discovering this issue, I will try to update the codebase when I get a chance. Meanwhile, please use a 7:2:1 split for your experiments as it says in the paper.

YuzRainy commented 9 months ago

Ohhh, no wonder. I think it's probably because the version wasn't updated, so when I experimented in STEP, I used 7:2:1 and got an accuracy of about 72%(the experimental setup was the same as described in the paper), which is 6-8% lower than in the paper, I hypothesize that's because the emotion-gait is incomplete. Looking forward to your update as I need the latest version for my graduation requirements. Thanks a lot. Have a good day~

UttaranB127 commented 9 months ago

Sure, but please do not wait for my update if the task is urgent for you. Please go ahead with the necessary changes at your end.

YuzRainy commented 9 months ago

ahaha, got it.😊