v0.7.0
📚🆕 Documentation and IF overhaul, new methods and bug fixes 💥🐞
This is our first β release! We have worked hard to deliver improvements across
the board, with a focus on documentation and usability. We have also reworked
the internals of the influence
module, improved parallelism and handling of
randomness.
Added
- Implemented solving the Hessian equation via spectral low-rank approximation PR #365
- Enabled parallel computation for Leave-One-Out values PR #406
- Added more abbreviations to documentation PR #415
- Added seed to functions from
pydvl.utils.numeric
,pydvl.value.shapley
andpydvl.value.semivalues
. Introduced new typeSeed
and conversion functionensure_seed_sequence
. PR #396
Changed
- Replaced sphinx with mkdocs for documentation. Major overhaul of documentation PR #352
- Made ray an optional dependency, relying on joblib as default parallel backend PR #408
- Decoupled
ray.init
fromParallelConfig
PR #373 - Breaking Changes
- Signature change: return information about Hessian inversion from
compute_influence_factors
PR #375 - Major changes to IF interface and functionality. Foundation for a framework abstraction for IF computation. PR #278, PR #394
- Renamed
semivalues
tocompute_generic_semivalues
PR #413 - New
joblib
backend as default instead of ray. Simplify MapReduceJob. PR #355 - Bump torch dependency for influence package to 2.0. PR #365
- Signature change: return information about Hessian inversion from
Fixed
- Fixes to parallel computation of generic semi-values: properly handle all samplers and stopping criteria, irrespective of parallel backend. PR #372
- Optimize memory usage in IF calculation PR #375
- Fix adding valuation results with overlapping indices and different lengths PR #370
- Fixed bugs in conjugate gradient and
linear_solve
PR #358 - Fix installation of dev requirements for Python 3.10 PR #382
- Improvements to IF documentation PR #371
New Contributors
Full Changelog: v0.6.1...v0.7.0