Closed Isuxiz closed 2 years ago
This depends on the dataset splitting way. Firstly we divide items into two parts, hot items and cold items, by their frequency in the dataset. Notice that dataloaders['train_base']
only contains rating samples of hot items, while rating samples of cold items are uniformly distributed in dataloaders['train_a']
,dataloaders['train_b']
, dataloaders['train_c']
. The function warm_up()
only helps to warm up the item ID embeddings of cold items.
Considering that dataloaders['train_base']
is also fed to warm_up()
as training samples, we fixed the dataloader to dataloaders['train_a']
here to get the cold items. It can be fixed to dataloaders['train_b']
, dataloaders['train_c']
as well.
I see. That is to say, this is a special case prepared for the train_base
dataset. I modified the code to skip directly in the case of the train_base
dataset, and directly use the parameters of warm-up
in other cases , obtained similar results to the initial version, confirming this. Thanks for answering.
https://github.com/BestActionNow/CVAR/blob/d97942df04a6be663afb2c1c7432a443f6440324/main.py#L386-L391
Shouldn't you just use the arguments of the function
warm_up
?