Closed bhuebner3 closed 1 year ago
Thank you for pointing out this problem. We have tested your mentioned bug and this is always occured. We have figured out the reason is that there is no specific designed code for full-sort paradigm in FairRec. We have fixed this bug and updated it in the latest version. Welcome to download it and use!
When using 'full' instead of 'uni100', the program gives the following error. No other settings are changed.
Traceback (most recent call last): File "C:\Users\Blake\OneDrive\Documents\From_Old_Comp\Vienna\Classes\Thesis\Code\RecBole-FairRec-master - Colab\run_recbole.py", line 30, in
run_recbole(model=args.model, dataset=args.dataset, config_file_list=config_file_list)
File "C:\Users\Blake\OneDrive\Documents\From_Old_Comp\Vienna\Classes\Thesis\Code\RecBole-FairRec-master - Colab\recbole\quick_start\quick_start.py", line 56, in run_recbole
best_valid_score, best_valid_result = trainer.fit(
File "C:\Users\Blake\OneDrive\Documents\From_Old_Comp\Vienna\Classes\Thesis\Code\RecBole-FairRec-master - Colab\recbole\trainer\trainer.py", line 377, in fit
valid_score, valid_result = self._valid_epoch(valid_data, show_progress=show_progress)
File "C:\Users\Blake\OneDrive\Documents\From_Old_Comp\Vienna\Classes\Thesis\Code\RecBole-FairRec-master - Colab\recbole\trainer\trainer.py", line 217, in _valid_epoch
valid_result = self.evaluate(valid_data, load_best_model=False, show_progress=show_progress)
File "C:\Users\Blake\anaconda3\envs\Run_algos\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context
return func(*args, *kwargs)
File "C:\Users\Blake\OneDrive\Documents\From_Old_Comp\Vienna\Classes\Thesis\Code\RecBole-FairRec-master - Colab\recbole\trainer\trainer.py", line 510, in evaluate
self.eval_collector.eval_batch_collect(scores, interaction, positive_u, positive_i)
File "C:\Users\Blake\OneDrive\Documents\From_Old_Comp\Vienna\Classes\Thesis\Code\RecBole-FairRec-master - Colab\recbole\evaluator\collector.py", line 186, in eval_batch_collect
neg_items = interaction[self.config['ITEM_ID_FIELD']][pos_len: pos_len2]
File "C:\Users\Blake\OneDrive\Documents\From_Old_Comp\Vienna\Classes\Thesis\Code\RecBole-FairRec-master - Colab\recbole\data\interaction.py", line 131, in getitem
return self.interaction[index]
KeyError: 'item_id'
The config file I'm using is:
ITEM_ID_FIELD: item_id RATING_FIELD: rating TIME_FIELD: timestamp USER_ID_FIELD: user_id checkpoint_dir: saved epochs: 400 eval_args: group_by: user mode: full order: RO split: RS: