-
Notifications
You must be signed in to change notification settings - Fork 622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[🐛BUG] self._dataset in KnowledgeBasedDataLoader #1743
Comments
@giuspillo Hello! Thanks for your attention to RecBole! The definition of Alternatively, we would also like to ask for your help to verify this: if you only change the four variables of Thank you again for your feedback. |
Dear authors, here is the link to the dataset I used: https://mega.nz/file/OxNwiLKb#rKmK9URjxrANIxtGZBVws24L8syhk2JrR4LHiadutHw It's a movielens 1m dataset, we added some properties (not relevant for SLIMElastic); moreover, you may notice the validation split is empty, this has been done to guarantee fairness when comparing to other (our) models which operate only on train and test. Unfortunately, at the moment I cannot test anything since the computer is being used my one of my colleagues; I'll try in some days. |
Pull request made here, I found another bug reported in the pull request, which has been solved, related to |
Hello @giuspillo! Thanks for your attention to our library. Please pay attention to the comments in #1745, and we will review your code and merge the pull request in time. Thanks again for your suggestions and feedback! |
Dear authors,
I guess I found a bug related to these two lines of code.
Context: I wanted to compare some recommendation algorithms, and some of them are Knowledge-Aware.
But when I use some ranking metrics to evaluate performances, I get this Exception:
'KnowledgeBasedDataLoader' object has no attribute 'dataset'
.I solved the issue by (1) changing this line to
RecBole/recbole/data/dataloader/knowledge_dataloader.py
Line 109 in abf69a6
self.dataset = dataset
by removing the _
and (2) similarly
RecBole/recbole/evaluator/collector.py
Line 87 in abf69a6
RecBole/recbole/evaluator/collector.py
Line 90 in abf69a6
RecBole/recbole/evaluator/collector.py
Line 92 in abf69a6
RecBole/recbole/evaluator/collector.py
Line 94 in abf69a6
to
self.data_struct.set("data.num_items", train_data._dataset.num(item_id))
self.data_struct.set("data.num_users", train_data._dataset.num(user_id))
self.data_struct.set("data.count_items", train_data._dataset.item_counter)
self.data_struct.set("data.count_users", train_data._dataset.user_counter)
For some reason this worked, so maybe it could indicate an error or bug.
The text was updated successfully, but these errors were encountered: