rdevooght / sequence-based-recommendations Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Hi
I went through the code trying to figure out if the model can perform incremental training as well but could not find one. If I am not wrong, on one set of training data, it creates the model network and fixes the input and output neurons based on number of items present in that set so is there a way to change the model network to include additional items as the new items and users come and interactions grow. So how to change the model for that?
Thanks!
Hello, I have trained the model for a very long time, but the sps is still smaller than 0.3, much lower than the performance in your paper. Do you know how to fix it?
Looks like a nice collection you've built here, however I'm observing strange behavior with your package unfortunately. For example, with both FISM and BPRMF:
User_coverage remains static between epochs
Item coverage static at 1
SPS often 0 where other packages using the same dataset and cost functions (lightFM, implicit etc.) show progress
A blockbuster share of either 0, or 6, neither of which makes much sense.
Ngdc remains static between epochs also
Yet "Last train cost" goes down and recall varies between epochs.
Model filesize and test results look identical between epochs.
The dataset is in the correct format etc. and consists of around 1.6M records. I have been training of 25 epochs.
Command run:
python2 train.py -d PATH/TO/DATA/ -m FISM --loss BPR --dir FISM_BPR/ --metrics sps,recall --save Best
i am getting the following error while training the model using the command
python train.py -d path/to/dataset/
File "D:\daftar\recomendation systems\sequence-based-recommendations-master\neural_networks\rnn_base.py", line 405, in _gen_mini_batch
sequence, user_id = next(sequence_generator)
StopIteration
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "train.py", line 60, in <module>
main()
File "train.py", line 57, in main
validation_metrics=args.metrics.split(','))
File "D:\daftar\recomendation systems\sequence-based-recommendations-master\neural_networks\rnn_base.py", line 324, in train
metrics = self._compute_validation_metrics(metrics)
File "D:\daftar\recomendation systems\sequence-based-recommendations-master\neural_networks\rnn_base.py", line 365, in _compute_validation_metrics
for batch_input, goal in self._gen_mini_batch(self.dataset.validation_set(epochs=1), test=True):
RuntimeError: generator raised StopIteration
What might be causing this error?
Hi, I read your paper and code today, here are some questions I want to ask.
How do I print the recommendations for each user? For example, I add a new user and his interactions with some items, how do I get the recommendations for him by using the model I have trained?
i find ndcg print from train,py,i want to know the means of ndcg
Hello,
Can you please add the license to this repo, something permissive like Apache or Mozilla Public License if you can?
Per our lawyer's interpretation, using software with no license is very risky in legal sense.
For preparing a batch of processed sequences, padding is done here with a value of 0 (zero). But, 0 is also one of the movie IDs. The padding value should always be something that's not included in the input values.
Please correct me if I am wrong, or else help me with a justification of your code implementation.
Thanks in advance :)
Hi,
Thank you for open sourcing the code and your work in the area. I am playing with an open source dataset and trying to do next basket recommendation. At the moment, I am trying to understand your paper and code thoroughly to see if it's applicable to my work. Do you think that's a good idea? or Do you have any suggestions on where to start? I am rather new to the area so bear with my ignorance. Thanks a lot for your help in advance!
Hello, in your code run_one_hot.py line 10
import rnn_base as rnn
when I launch train.py, it said Import Error
my python version is 3.6.
Is it a python version error or I miss something that has to be installed first? Thanks.
hello:
the rnn input sequence is not item by item? when i see the preprocess.py the sequence is item rating item rating , in your paper lstm Recommendations mention than only use item by item, so i dont know the
input detail .
TY for your answer.
hi,
I use movieLens-1m and rnn method
I run it 3 days, but it just "Open file(3500)" and doesn't get any result.
I want to know how long the time it will take to train? and how long the time if we use clusters?
Thanks!
I am really confused about that. Hope for a response.
FileNotFoundError: [Errno 2] No such file or directory: 'path/to/ratings.dat'
so I want to ask, is there a ratings.dat in your code in git?Thanks.
When runing train.py, it takes about five hours but sps still under 0.1,.I run it in Cpu, but in GPU, it still become very slow.
hello.
I read your paper and am looking into your codes.
And got some questions about rnn.
in rnn_one_hot.py : _prepare_networks()
at your code :
if not self.use_movies_features:
l_recurrent = self.recurrent_layer(self.l_in, self.l_mask, true_input_size = self.n_items + self.n_optional_features(), only_return_final=True)
there's NOT in if condition.
why did you set true_input_size like above when use_movies_features is false?
self.recurrent_layer() calls __ call __() of recurrent_layers.py
It seems that it only returns 1 layer - prev_layer, though you write for loop in that part.
I think it returns multiple layers when RecurrentLayers.layers is set like 100-50-50 like your example
Does it work as you intended?
what does l_last_slice do?
Should it exist?
TY for your help.
I have successfully run preprocessor.py to generate training and test sequences and train.py to create the training models using the method: BPR-MF.
I am now trying to run test.py using the following command:
python test.py -d /home/user/Asmita_work/SeqReco/sequence-based-recommendations/ -m BPRMF
However, I get the following error:
/home/user/Asmita_work/SeqReco/sequence-based-recommendations/models/bprmf_ne*_lr0.01_an1.0_k20_reg0.0_ini1_as100.0.npz
[0]
Traceback (most recent call last):
File "test.py", line 165, in
main()
File "test.py", line 152, in main
batches = batches[sorted_ids]
IndexError: too many indices for array
Can this bug please be looked into?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.