Closed thigazholi-official closed 4 weeks ago
Based on your description, the issue you are encountering when migrating from RecBole version 0.2.1 to 1.2.0 with the SASRec model is due to changes in how negative sampling is handled. In RecBole 1.2.0, when the loss_type
is set to CE
(Cross-Entropy), the train_neg_sample_args
must be set to None
. If this setting is not None
, a ValueError
will occur.
To resolve this, ensure that your configuration file for version 1.2.0 sets train_neg_sample_args
to None
or ~
(indicating None
in YAML). Also, review other parameters, like eval_args
, to match the format and requirements of the new version.
For further guidance, refer to the RecBole documentation and changelogs to understand the new parameters and changes in version 1.2.0. By aligning your configuration with the new requirements, you should be able to reproduce the same results as in version 0.2.1. If you continue to have issues, please provide additional details so we can assist further.
1.BUG Description
At first let me thank you for aggregating all the recommendation algorithms at one place. While the SASRec from recbole version 0.2.1 seems to provide desired ranking of items, I am not able to produce the same results after migrating to recbole 1.2.0, with the same dataset.
2.TRAINING CODE
1.Version 0.2.1
1.1. config:
1.2. code for training
2.Version 1.2.0
2.1. config:
note: this configuration has been tried for both train_neg_sample_args=~ and None.
2.2. code for training
3.Expected behavior**
I would like to reproduce the same output as obtained from recbole 0.2.1 in recbole 1.2.0, using SASRec and the same datasets.
4.Observation
While both the versions are expected to throw an error when loss_type=CE and train_neg_sample_args is not none (or training_neg_sample_num = 1), the error is observed only in 1.2.0 and training is successful with 0.2.1.
1.VERSION 1.2.0
1.1.configurator file
1.2.produce configuration
2.VERSION 0.2.1
2.1.configurator file
2.2.produce configuration