Published April 24, 2025 | Version v1.11.1
Software Open

PyKEEN

  • 1. ROR icon RWTH Aachen University
  • 2. DeepL SE
  • 3. @DTU-DABAI
  • 4. @enveda
  • 5. AstraZeneca
  • 6. DAMEDIC
  • 7. Continental
  • 8. Hochschule RheinMain
  • 9. Yale Section of Biomedical Informatics & Data Science
  • 10. @always-friday
  • 11. INRIA
  • 12. Polytechnique Montreal
  • 13. University of Bari Aldo Moro
  • 14. Avito
  • 15. University College London
  • 16. @NVIDIA @mila-udem @DeepGraphLearning
  • 17. Digehealth
  • 18. @climatepolicyradar

Description

Enhancements

Inductive Models and Datasets

  • β›΅πŸͺš Semi- and Fully-inductive Splits by @mberr in https://github.com/pykeen/pykeen/pull/1416

Representations

PyKEEN v1.11.1 introduces several new representations to support scenarios when you can bring your own featurization (such as chemical fingerprints in the cheminformatics domain)

  • πŸͺ«πŸ”ˆ Generalize low-rank representation by @mberr in https://github.com/pykeen/pykeen/pull/1509
  • πŸ‘©β€πŸ‘©β€πŸ‘§β€πŸ‘¦β›½ Add Multi-backfill representation by @mberr in https://github.com/pykeen/pykeen/pull/1507
  • ✨✨ Add feature-enriched embedding and MLP-transformed representation by @cthoyt in https://github.com/pykeen/pykeen/pull/1511
  • βž•πŸŽ’ Add embedding bag representation by @mberr in https://github.com/pykeen/pykeen/pull/1512

Loss Weights

PyKEEN v1.11.1 introduces loss weights, which influence how much a given triple is weighted in the loss function. They are primarily a tool to shape your optimization criterion, i.e., what you optimize your embedding models on. For example, you may want to focus more or less on certain types of triples because they are more or less important for your application. You can also use loss weights to counteract imbalances in relation frequencies, i.e., to down-weight frequent relation types.

More information at: https://pykeen.readthedocs.io/en/latest/reference/loss_weighting.html

  • πŸ”“βš–οΈ Expose pos_weight for BCEWithLogitsLoss by @mberr in https://github.com/pykeen/pykeen/pull/1525
  • πŸ’ΈπŸ‹Loss weights by @mberr in https://github.com/pykeen/pykeen/pull/1529
  • 🦍🍌 Training with sample weights by @mberr in https://github.com/pykeen/pykeen/pull/1532
  • πŸ’Έβ‡οΈ Basic loss weights by @mberr in https://github.com/pykeen/pykeen/pull/1534

Misc

  • πŸ‘ΎπŸ‰ Add custom error for max_id mismatch in representations by @cthoyt in https://github.com/pykeen/pykeen/pull/1508
  • πŸ”’βœ… Check maximum in base_ids in BackfillRepresentation by @chartsNgraphs in https://github.com/pykeen/pykeen/pull/1499
  • ⏩#️⃣ Forward max_id to adapted representations by @mberr in https://github.com/pykeen/pykeen/pull/1528

Removals

  • πŸ›—πŸ§Ή Remove functional interaction abstraction by @mberr in https://github.com/pykeen/pykeen/pull/1491

Fixes

  • πŸ§‘β€πŸ”§πŸͺ“ Fix inductive split by @mberr in https://github.com/pykeen/pykeen/pull/1516
  • πŸ§‘β€πŸ”§β›“οΈβ€πŸ’₯ Fix dataset restrict by @mberr in https://github.com/pykeen/pykeen/pull/1495
  • ⏱️🧺 Fix Caching Test by @mberr in https://github.com/pykeen/pykeen/pull/1497
  • πŸπŸ‰ Fix Slicing and Explicit Target Indices by @mberr in https://github.com/pykeen/pykeen/pull/1485
  • 🧹🚯 Fix unused variables by @mberr in https://github.com/pykeen/pykeen/pull/1486

Documentation

  • πŸŽ“πŸšŠ Add a concrete example in "Using learned embeddings" tutorial by @Str1ien in https://github.com/pykeen/pykeen/pull/1518
  • πŸ΄β€β˜ οΈβ‡οΈ Update inductive NodePiece example by @mberr in https://github.com/pykeen/pykeen/pull/1503
  • 🀝🌐 Update resolvers and docs by @cthoyt in https://github.com/pykeen/pykeen/pull/1479
  • πŸ§‘β€πŸ«πŸ“– Update Tutorial on Representations by @mberr in https://github.com/pykeen/pykeen/pull/1478
  • β†”οΈπŸ§‘β€πŸ« Interaction Function Tutorial by @mberr in https://github.com/pykeen/pykeen/pull/1484
  • πŸ”™πŸ«— Update backfill example by @mberr in https://github.com/pykeen/pykeen/pull/1493
  • πŸ“šπŸŽ Update tokenization section of representation tutorial by @mberr in https://github.com/pykeen/pykeen/pull/1515

Meta

  • πŸ€–πŸ”“ GHA: Also run on pull_request_target by @mberr in https://github.com/pykeen/pykeen/pull/1522
  • 🧽✨ Support torch 2.6 by @mberr in https://github.com/pykeen/pykeen/pull/1494
  • πŸ• 🧹 Apply ruff v0.9.4 and limit torch <2.6 by @cthoyt in https://github.com/pykeen/pykeen/pull/1496
  • πŸ› 🐍 Minor cleanup and quality-of-life improvements by @mberr in https://github.com/pykeen/pykeen/pull/1504
  • 🐍 πŸ†™ Update minimum python version to 3.10 by @cthoyt in https://github.com/pykeen/pykeen/pull/1481

Testing

  • Regression tests for loss functions by @mberr in https://github.com/pykeen/pykeen/pull/1530
  • #️⃣⏬ Store regression targets with lower than machine precision by @mberr in https://github.com/pykeen/pykeen/pull/1531

Typing and Code Style

  • βŒ¨οΈβš™οΈ Update typing and project config by @cthoyt in https://github.com/pykeen/pykeen/pull/1535
  • βŒ¨οΈβš™οΈ Update numpy type checking by @cthoyt in https://github.com/pykeen/pykeen/pull/1537
  • πŸ”πŸ§Ό Refactor typing in repeat_if_necessary() and Model._get_entity_len() by @cthoyt in https://github.com/pykeen/pykeen/pull/1536
  • Ruff and MyPy fixes by @cthoyt in https://github.com/pykeen/pykeen/pull/1526
  • 🦩🫧 Fixes FunctionResolver type annotations by @cthoyt in https://github.com/pykeen/pykeen/pull/1540
  • πŸͺ’πŸͺ› Fix type annotations for entity/relation to ID mapping by @mberr in https://github.com/pykeen/pykeen/pull/1521
  • 🧹🏷️ Add Missing Model Types by @mberr in https://github.com/pykeen/pykeen/pull/1483
  • πŸ“š 🧼 Format docstrings by @cthoyt in https://github.com/pykeen/pykeen/pull/1502

New Contributors

  • @chartsNgraphs made their first contribution in https://github.com/pykeen/pykeen/pull/1499
  • @Str1ien made their first contribution in https://github.com/pykeen/pykeen/pull/1518

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.11.0...v1.11.1

Files

pykeen/pykeen-v1.11.1.zip

Files (8.9 MB)

Name Size Download all
md5:c1707edc70fc7aec16a7bf34be3ce820
8.9 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/pykeen/pykeen/tree/v1.11.1 (URL)

Software