Closed najamsaleem closed 3 years ago
Hi @najamsaleem,
Thanks for your interest! Some pointers:
In ntu120_gendata.py
function gendata()
, you can see that we are basically deciding which data are going to what split (train or val) based on the filenames. I suggest having a look at https://github.com/shahroudy/NTURGB-D; basically, to split data differently you can just edit the function and make you split base on the action labels in the form of Axxx.
Each file/folder name in both datasets is in the format of SsssCcccPpppRrrrAaaa (e.g., S001C002P003R002A013), in which sss is the setup number, ccc is the camera ID, ppp is the performer (subject) ID, rrr is the replication number (1 or 2), and aaa is the action class label.
Then you might want to have a look at changing the model accordingly. In msg3d.py
you can see that the model expects a num_class
argument, and this is passed in from main.py
as part of args.model_args
, which means you should write a separate folder of config files for your use case.
Hope this helps!
Closing the issue for now; feel free to comment below for more questions.
Hi, I want to split this ntu rgb d 120 dataset into traininv and testing set based on action classess. I need to split 100 action classes for training and 20 action classes for testing set.
I am trying to edit the datagen120.py code But it seems like model 2s-AGCN is showing error when i am training with 100 classes. And code is working fine with if i write 120 classes in configuration file, but actually i splitted the data with 100 classes. I think i am not correctly splitting the data.
Error is at loss.backward() Runtime: CUDA error: CUBLAS status aloc failed when calling 'cublascreate(handle)'
Can you provide me the function that how i can split the data based on desired classes but not based on xsub or xview.