Closed truongthanh96 closed 5 years ago
Thanks, haven't start doing the data loader yet, the one I did is deprecated. But I will make sure I have used your suggestions! The update will probably come out today. Thanks again, I'd been running into major performance issues
Tho line train_df = train_df[train_df["rating"] >= 0]
is wrong because it neglects all the negative rating reviews which are really helpful for the critic. DDPG is supposed to work with negative rewards and learn 'what not to do' from them
You are right, I have double checked the original paper and found the difference. I will come back with new code as I am implementing that paper myself soon. On paper they also use epsilon greedy to generate random action, and they re-rank all remaining items in each step and select the highest one. Though because of fixed N, I have to make sure user begin state include his K positive item, not sure his first N positive item based on timestamp or just random N positive item from his session.
Observe current state s t = f(Ht), where Ht = {i1 , ..., in }
Done! I have also started working on an asynchronous version but it doesn't seem to be functioning properly just yet. If you need code it is located in the notes under Async Dataloader. I used aiostream with async generators and streams for synchronizing. Everything is just copy paste. My vision is that the ratings need to be split by users and fed into async workers that will yield the mini-batches into the stream
Hello, i am working with your awesome paper and awesome project. And I think I can improve your performance when working ratings data in pandas. According to https://realpython.com/fast-flexible-pandas/
The code with long loops and dict management can be speed up by replacing:
with arrow processing when working with pandas df but still yield corresponding result
Above process took Start update ratings 2019-04-09 16:44:01.957343 Done update ratings 2019-04-09 16:44:24.071254
Instead of manually looping over each element to get it's index
You can use
This is my first issues on github, and i want to contribute to your awesome project.