Skip to content

v1.11.1

Latest
Compare
Choose a tag to compare
@cthoyt cthoyt released this 24 Apr 10:52
· 1 commit to master since this release

Enhancements

Inductive Models and Datasets

  • ⛵🪚 Semi- and Fully-inductive Splits by @mberr in #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 #1509
  • 👩‍👩‍👧‍👦⛽ Add Multi-backfill representation by @mberr in #1507
  • ✨✨ Add feature-enriched embedding and MLP-transformed representation by @cthoyt in #1511
  • ➕🎒 Add embedding bag representation by @mberr in #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

Misc

  • 👾🍉 Add custom error for max_id mismatch in representations by @cthoyt in #1508
  • 🔢✅ Check maximum in base_ids in BackfillRepresentation by @chartsNgraphs in #1499
  • ⏩#️⃣ Forward max_id to adapted representations by @mberr in #1528

Removals

  • 🛗🧹 Remove functional interaction abstraction by @mberr in #1491

Fixes

  • 🧑‍🔧🪓 Fix inductive split by @mberr in #1516
  • 🧑‍🔧⛓️‍💥 Fix dataset restrict by @mberr in #1495
  • ⏱️🧺 Fix Caching Test by @mberr in #1497
  • 🍍🐉 Fix Slicing and Explicit Target Indices by @mberr in #1485
  • 🧹🚯 Fix unused variables by @mberr in #1486

Documentation

  • 🎓🚊 Add a concrete example in "Using learned embeddings" tutorial by @Str1ien in #1518
  • 🏴‍☠️❇️ Update inductive NodePiece example by @mberr in #1503
  • 🤝🌐 Update resolvers and docs by @cthoyt in #1479
  • 🧑‍🏫📖 Update Tutorial on Representations by @mberr in #1478
  • ↔️🧑‍🏫 Interaction Function Tutorial by @mberr in #1484
  • 🔙🫗 Update backfill example by @mberr in #1493
  • 📚🎁 Update tokenization section of representation tutorial by @mberr in #1515

Meta

  • 🤖🔓 GHA: Also run on pull_request_target by @mberr in #1522
  • 🧽✨ Support torch 2.6 by @mberr in #1494
  • 🐕 🧹 Apply ruff v0.9.4 and limit torch <2.6 by @cthoyt in #1496
  • 🛁 🐍 Minor cleanup and quality-of-life improvements by @mberr in #1504
  • 🐍 🆙 Update minimum python version to 3.10 by @cthoyt in #1481

Testing

  • Regression tests for loss functions by @mberr in #1530
  • #️⃣⏬ Store regression targets with lower than machine precision by @mberr in #1531

Typing and Code Style

  • ⌨️⚙️ Update typing and project config by @cthoyt in #1535
  • ⌨️⚙️ Update numpy type checking by @cthoyt in #1537
  • 🔁🧼 Refactor typing in repeat_if_necessary() and Model._get_entity_len() by @cthoyt in #1536
  • Ruff and MyPy fixes by @cthoyt in #1526
  • 🦩🫧 Fixes FunctionResolver type annotations by @cthoyt in #1540
  • 🪢🪛 Fix type annotations for entity/relation to ID mapping by @mberr in #1521
  • 🧹🏷️ Add Missing Model Types by @mberr in #1483
  • 📚 🧼 Format docstrings by @cthoyt in #1502

New Contributors

Full Changelog: v1.11.0...v1.11.1