-
Notifications
You must be signed in to change notification settings - Fork 616
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] Dataset save_path mismatches load_path for sequential dataset #1697
Comments
Besides, I also find some bugs in loading saved dataloaders by setting RecBole/recbole/data/dataloader/general_dataloader.py Lines 140 to 144 in edf2e6c
, which will result in a key error in line139 in the following code: RecBole/recbole/data/dataloader/abstract_dataloader.py Lines 132 to 142 in edf2e6c
I opened a pull request #1698 to fix the two problems mentioned above. |
Hello @ShadowTinker, Thank you for your attention and contributions to RecBole! You are correct that there are some bugs. To improve the rationality of the code structure and convenience of the changes, I have made some minor modifications. Once you have reviewed the modifications in #1698, the updates can be merged into the main code. Thank you again for your support to our team! |
Hello @Paitesanshi, Thank you for your reply! But I just find another problem, which is that the saved dataloader will still be loaded when modifying Lines 130 to 132 in edf2e6c
where train_batch_size or eval_batch_size is not checked.
But I'm not sure whether it is designed on purpose, because these arguments usually are fixed. So I wonder if it is needed to add the two args to the above lines. |
@ShadowTinker We think that user loading existing |
@Paitesanshi Thank you for the explanation. I've reviewed the modifications in #1698 and It will be my honor to contribute to recbole. Thank you again for the great repo and contribution to the community. |
Fix: fix saving and loading for datasets and dataloaders (#1697)
This fails again when this is run in multiprocessing with 4GPUs on 1 node. One process writes to disk while another process thinks the file exists and tries to read. Even if this doesnt happen since 4 processes write to disk in a pickle file with the mode "wb", the file is going to be corrupt on loading it later for inference. |
Describe the bug
I set
save_dataset=True
inrecbole/properties/overall.yaml
but find the model re-processes the dataset every time.To Reproduce
Steps to reproduce the behavior:
save_dataset=True
inrecbole/properties/overall.yaml
python run_recbole.py --model=DIN --dataset=ml-100k
I change the following code
RecBole/recbole/data/dataset/dataset.py
Line 1813 in edf2e6c
to
. And it works for DIN, AFM, BPR and SASRec.
Desktop (please complete the following information):
The text was updated successfully, but these errors were encountered: