Closed wac81 closed 2 years ago
Hi,
Make sure you change these for config.py:
i just have single one GPU. so need to modify some code in sed_model.py and main.py. deterministic = False -----necessary dist.init_process_group( backend="nccl", init_method="tcp://localhost:23456", rank=0, world_size=1 )-----necessary too if i didn't modify these code, can't run in single one GPU. OR could you give me correct modify code to support single GPU?
I failed to do only one of the things you mentioned which is fine-tune on AudioSet checkpoint, This is not mentioned in Readme doc.
and DESED datasets need to finetune on AudioSet checkpoint as well?
Hi.
You probably know that if you want to run it in the single gpu model. You don't need to "gather" output from different gpus, you can directly send the output into the evalute_metric method to get the result. Therefore, you just need to: (1) add another condition to judge if the model is running on single GPU (by using torch.cuda.device_count() == 1) (2) directly send the output into the evaluate_metric method to get the result. (you need to understand the output shape by tracking in the "test_epoch_end" output.
thank you for your reply.
i have a question for own datasets. i want train own datasets for three classes include (good bad other 3)emotion. i have to finetune on AudioSet pretrained models? i can't mapping 527->3.
Hi
No, you don’t need to map 527 to 3. Similarly to ESC-50, you just replace the last mapping fully connected layer from 527 output to 3 output, and the previous layers will apply the audioset pretrained model weight, then you do the fine-tune.
Or, you can train from scratch, if you have many audio-mood data, I believe you could also achieve good results.
thanks a lot I will try
i have one GPU, so i changed some code in model.py and sed_model.py and main.py
and set config.py like that:
dataset_type = "esc-50" loss_type = "clip_ce" sample_rate = 32000 classes_num = 50
then i just get ACC : 0.55
i changed
deterministic=False
dist.init_process_group( backend="nccl", init_method="tcp://localhost:23456", rank=0, world_size=1 )
for init_process_group errorcode can be runing. but not get results same as your paper.