PyKEEN 1.11 has a lot of nice fixes from the last year of work, as well as a few bigger (potentially breaking) changes, see the last heading below. Big thanks to our five new contributors, and lots of great discussions on the issue tracker.
Enhancements
- EarlyStopper: show progress bar by @lorenzobalzani in #1377
- ⚙️🧮 Update generate_triples to ensure correct num_entities by @mberr in #1460
- ⛏️🗄️ Add method to restrict a dataset by @mberr in #1436
- 🔥🧮 Torch tensor typing by @mberr in #1439
- 🔓📊 Relax type hint of RankBasedEvaluator's metrics/metrics_kwargs parameter pair to match
make_many
by @mberr in #1383 - 🚨🏭 Warn about evaluation factory with inverse triples by @mberr in #1347
- 🏋️🤙 Training callback infrastructure to save checkpoints by @mberr in #1430
Bug Fixes
- Fix keyword argument in using_wandb.rst by @LuisaWerner in #1345
- 💾🕹️ Fix storing for custom datasets for ablation_pipeline by @mberr in #1374
- 🔄🙃 Fix
nguyen2018_transe_wn18rr
reproduction config by @mberr in #1373 - ⌛📋 Fix (Re-)Instantiation of LR-Schedule by @mberr in #1386
- Fix bug that still shows tqdm when use_tqdm=False in Evaluator by @nomisto in #1391
- 📜🔧 Fix example for LabelBasedInitializer by @mberr in #1403
- fix issue of 'Full Inductive LP Example' by @mohmehmo in #1405
- 🤖🔥 Fix automatic memory optimization and improve documentation by @mberr in #1428
- 🔙⛽ Fix class docstring of BackfillRepresentation by @mberr in #1437
- 🔧🥇 Fix BestKeeper and add tests for checkpoint schedules by @mberr in #1433
- 🩹🛁 Fix backfill representation by @mberr in #1440
- 🚨🦺 Fix fast tests not running by @mberr in #1458
- 🧼🫧 Fix shape handling in Interaction by @mberr in #1459
- 🏎️🧑🔧 Fix device errors & mypy by @mberr in #1461
Removals
- 🔪💨 Remove slicability annotations by @cthoyt in #1465
- 🧪💨 Remove tests that never run by @cthoyt in #1466
- Remove create_inverse_triples from init call to superclass by @nomisto in #1393
Docs
- 🗞️📖 Update docs by @cthoyt in #1473
- 🦚🪻 Improve Documentation for pykeen.triples by @mberr in #1366
- Improve documentation by @cthoyt in #1429
- ✨🧑🏫 Improve Splitting Documentation by @mberr in #1411
- Fixed some typos in the Documentation by @feldnerd in #1422
- ✨📖 Update understanding evaluation doc by @mberr in #1424
- Fix class inheritance diagram in docs by @mberr in #1426
- 🐈👩 Increase maximum sphinx version by @mberr in #1453
- 🐈👩 Increase maximum sphinx version by @mberr in #1431
- 🦟📚 Extract more documentation code examples into individual files by @mberr in #1432
Packaging, Project Management, and Testing
- Bump minimum Python version to 3.9 by @cthoyt in #1419
- 🔥🔓 Relax pytorch & numpy requirement by @mberr in #1475
- 📛📋 Update Badges in README by @mberr in #1425
- Improve project skeleton by @cthoyt in #1418
- Modernize extension loading by @cthoyt in #1421
- Add Ruff cleanup by @cthoyt in #1420
- 🧹⚙️ Update GHA by @mberr in #1415
- 🤖🧼 GitHub Action Cleanup by @mberr in #1378
- 🚫🔥 Block doc8=1.1.2 due to false positives by @mberr in #1438
- ✨🕵️ Fix mypy by @mberr in #1387
Merging Functional Forms
We did some pretty big breaking changes in this release - there is no longer a pykeen.nn.functional
module. All of the functional forms are now part of the nn.Module
classes in pykeen.nn.modules
for interaction models. This was tracked and discussed in #1102
↔️ ❌ Merge CrossE by @mberr in #1447↔️ 🟦 Merge CP by @mberr in #1446↔️ 👓 Merge ConvE by @mberr in #1443↔️ 📡 Merge ConvKB by @mberr in #1444↔️ 📏 Merge DistMA by @mberr in #1445↔️ ✖️ Merge DistMult by @mberr in #1448↔️ 🦿 Merge ER-MLP by @mberr in #1449↔️ 🦾 Merge ER-MLP-E by @mberr in #1450↔️ 🐇 Merge HolE by @mberr in #1451↔️ 🦎 Merge KG2E by @mberr in #1452↔️ 🇫 Merge TransF by @mberr in #1462↔️ 🚆 Merge NormBasedInteraction by @mberr in #1456↔️ 🧮 Merge NTN by @mberr in #1463↔️ 📽️ Merge ProjE by @mberr in #1464↔️ ❇️ Merge RESCAL by @mberr in #1468↔️ 🧷 Merge TuckER by @mberr in #1469↔️ 💭 Merge SimplE by @mberr in #1470↔️ 🚚 Merge TransformerInteraction by @mberr in #1471↔️ 🎱 Merge QuatE by @cthoyt in #1472
While we were at it, we also did some more big refactoring:
Semantic versioning is a lie. We hope you enjoy pykeen v1.11 :)
New Contributors
- @LuisaWerner made their first contribution in #1345
- @lorenzobalzani made their first contribution in #1377
- @nomisto made their first contribution in #1391
- @mohmehmo made their first contribution in #1405
- @feldnerd made their first contribution in #1422
Full Changelog: v1.10.2...v1.11.0