Skip to content

Latest commit

 

History

History
107 lines (76 loc) · 5.1 KB

CHANGELOG.md

File metadata and controls

107 lines (76 loc) · 5.1 KB

v0.5.0

Breaking API Changes

The API for implicit has substantially changed in v0.5.0 - and any code written for the previous API will need to be rewritten:

  • Change model.fit to take a user_items sparse matrix #484
  • Return numpy arrays from recommend methods #482
  • Don't require empty rows in user_items and item_users parameters #526
  • Unify API for rank_items/recommend/recommend_all #489

Performance Improvements

  • Speedup evaluation by using batch recommend functions #520
  • Use FAISS for GPU inference #506
  • Multithreaded speedups for CPU models #517
  • Use thrust::binary_search to verify negative samples on GPU #524
  • Release GIL on GPU calls #528

New Features

  • Add incremental retraining support for ALS models #527
  • Add filtering for similar_items and similar_users #488
  • Add support for recalculate_users/items on the GPU #515
  • Add methods for converting MF models to/from gpu #521
  • Add a tutorial notebook for the lastfm example #529
  • Approximate nearest neighbour for BPR/LMF and GPU models #487
  • Dynamically detect CUDA availability #174

v0.4.5

  • GPU Inference #406
  • Fix ALS model for case of > 2^31 interactions #400
  • Fix GPU dot product when the # of factors wasn't warp aligned #427
  • Use gpu registers for dot product #448
  • Fix random output with LMF/BPR models #408
  • Add seed for test-train split #411

v0.4.4

  • Adds Precompiled CUDA packages on conda-forge
  • Drops support for CUDA 8

v0.4.3

  • Implement filter_already_liked_items option #328
  • Fix bug in ALS explain when user_items contains negative confidence values #313
  • Improve numerical stability of LMF #383
  • Add error check after training for NaN factors #381
  • Support building with Cuda 11

v0.4.0

  • Add logistic matrix factorization algorithm #231
  • Use tqdm for progress bars #240
  • Add AUC@K #275

v0.3.9

  • Add ability to pickle nearest neighbours recommenders #191
  • add NDCG method to evaluation #212
  • Add a 'recommend_all' method for matrix factorization models #179

v0.3.8

  • Ensure progress bar hits 100% during xval
  • Fix bm25recommender missing default parameter on fit

v0.3.7

  • Fix GPU faiss model with > 1024 results #149
  • Add a reddit votes dataseet
  • Add similar users calculation in MF modeles #139
  • Add an option to whether to include previously liked items or not #131
  • Add option for negative preferences to ALS modele #119
  • Add filtering negative feedback in test set #124

v0.3.6

  • Adds evaluation functionality with functions for computing P@k and MAP@K and generating a train/test split
  • BPR model now verifies negative samples haven’t been actually liked now, leading to more accurate recommendations
  • Faster KNN recommendations (up to 10x faster recommend calls)
  • Various fixes for models when fitting on the GPU
  • Fix CUDA install on Windows
  • Display progress bars when fitting models using tqdm
  • More datasets: added million song dataset, sketchfab, movielens 100k, 1m and 10m

v0.3.5

  • Use HDF5 files for distributing datasets
  • Add rank_items method to recommender

v0.3.3

  • Fix issue with last user having no ratings in BPR model

v0.3.2

  • Support more than 2^31 training examples in ALS and BPR models
  • Allow 64 bit factors for BPR

v0.3.0

  • Add a Bayesian Personalized Ranking model, with an option for fitting on the GPU

v0.2.7

  • Add Support for ANN libraries likes Faiss, NMSLIB and Annoy for making recommendations