massquantity / LibRecommender

Versatile End-to-End Recommender System
https://librecommender.readthedocs.io/
MIT License
384 stars 67 forks source link

Request - Update to Tensorflow 2 #490

Closed murathany7 closed 5 months ago

murathany7 commented 5 months ago

For obvious reasons, it would be beneficial for this project and it would gain more popularity if it can be updated.

massquantity commented 5 months ago

I agree, but I have little time to refactor all the code. Eventually, the library may switch to PyTorch considering the popularity.

murathany7 commented 5 months ago

PyTorch is indeed a great choice. Alternatively, have you considered Tensorflow's Recommenders library(TFRS)? I want to hear your thoughts about that library.

massquantity commented 5 months ago

In my view, open-source recommender system libraries, including TFRS, usually have several drawbacks:

  1. Lack of standard data processing and feature engineering procedures: The "Quick Start" section often includes just a few lines of code to train a model, making it appear easy. However, when users want to utilize their own data, the data processing aspect can quickly become cumbersome and error-prone due to its tedious nature.
  2. Absence of a "recommend" API: Surprisingly, about 90% of these libraries, despite branding themselves as "recommender system libraries", do not include a "recommend" API. This omission is likely because implementing such an API for various models is challenging.
  3. Lack of model serving capabilities: These libraries often do not provide features for serving models in a production environment.
  4. No support for incremental training: In real-world scenarios, the ability to update models incrementally as new data becomes available is crucial, yet many libraries do not offer this feature.

These practical issues are the primary challenges that LibRecommender aims to address. My goal is not just to implement a collection of sophisticated deep models, but to tackle these real-world problems effectively.