Gone in 60 Seconds
This release has some performance and improvements, including full Python 3.8, Pandas 1.0, and Numba 0.49 testing.
This is the last release we expect to use JobLib to parallelize batch prediction and recommendation. Any Python scripts that call the batch routines (batch.predict
, batch.recommend
, or MultiEval
) need to be import-protected: their code needs to be in functions, and only invoked with a __name__
guard:
if __name__ = '__main__':
do_stuff()
Unprotected scripts (where the code is just in the script, and runs when the script is imported as a module) will probably still work with LensKit 0.9, but will not work in the next version of LensKit. Jupyter notebooks should be just fine - when they are run, the IPython kernel is actually running, and it is properly protected.
What’s Changed
- Improving testing with minimal dependencies (#151) @mdekstrand
- Skip predictions when no ratings to predict (#149) @mdekstrand
- Use BinPickle for sharing (#148) @mdekstrand
- Support iterating over training iterations (#144) @mdekstrand
- Fix for Numba 0.49 compatibility (#146) @mdekstrand
- Use GitHub Actions for CI (#143) @mdekstrand
- Use declarative configuration for builds (#142) @mdekstrand
- Add model stores for batch multiprocessing (#139) @mdekstrand
- Improve top-N metric performance (#140) @mdekstrand
- Fix Conda Python 3.8 testing (#138) @mdekstrand
- Unify configuration points (#137) @mdekstrand
- Clean up RNG infrastructure (#136) @mdekstrand
- Add configurable RNG infrastructure (#135) @mdekstrand
- Remove deprecated and unused features (#134) @mdekstrand
- Version bumps - Pandas 1.0 and Python 3.8 (#133) @mdekstrand