FluxML / FastAI.jl

Repository of best practices for deep learning in Julia, inspired by fastai
https://fluxml.ai/FastAI.jl
MIT License
585 stars 51 forks source link

Collaborative filtering example #255

Open sgaseretto opened 2 years ago

sgaseretto commented 2 years ago

How can collaborative filtering (with probabilistic matrix factorization) be implemented with FastAI.jl? Are there any snippets of this or plans to add it soon? I haven't seen examples of this even with Flux.jl so I'm a little bit lost, only MLP and Convnets. Also, I'm learning Julia and would love to contribute to this package, If there are some hints on how to do this, I'll gladly try to implement it and open a PR.

ToucheSir commented 2 years ago

I don't know of anyone working on collaborative filtering in Julia (the ML community is quite small), but perhaps others have. One way to get the ball rolling would to be port over a Python implementation. If you have a good grasp of that side, I'd be happy to help with the translation.

sgaseretto commented 2 years ago

I'll research a little bit more about Flux.jl, so I can get a better understanding on how it builds its computational graph, because it is basically a dot product between a user embedding and an item embedding. Here is an excellent example of how it can be implemented using pytorch.