Recent Releases of pykeen

pykeen - v1.11.1

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 pullrequesttarget 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

- Python
Published by cthoyt 10 months ago

pykeen - v1.11.0

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 https://github.com/pykeen/pykeen/pull/1377
  • โš™๏ธ๐Ÿงฎ Update generatetriples to ensure correct numentities by @mberr in https://github.com/pykeen/pykeen/pull/1460
  • โ›๏ธ๐Ÿ—„๏ธ Add method to restrict a dataset by @mberr in https://github.com/pykeen/pykeen/pull/1436
  • ๐Ÿ”ฅ๐Ÿงฎ Torch tensor typing by @mberr in https://github.com/pykeen/pykeen/pull/1439
  • ๐Ÿ”“๐Ÿ“Š Relax type hint of RankBasedEvaluator's metrics/metricskwargs parameter pair to match `makemany` by @mberr in https://github.com/pykeen/pykeen/pull/1383
  • ๐Ÿšจ๐Ÿญ Warn about evaluation factory with inverse triples by @mberr in https://github.com/pykeen/pykeen/pull/1347
  • ๐Ÿ‹๏ธ๐Ÿค™ Training callback infrastructure to save checkpoints by @mberr in https://github.com/pykeen/pykeen/pull/1430

Bug Fixes

  • Fix keyword argument in using_wandb.rst by @LuisaWerner in https://github.com/pykeen/pykeen/pull/1345
  • ๐Ÿ’พ๐Ÿ•น๏ธ Fix storing for custom datasets for ablation_pipeline by @mberr in https://github.com/pykeen/pykeen/pull/1374
  • ๐Ÿ”„๐Ÿ™ƒ Fix nguyen2018_transe_wn18rr reproduction config by @mberr in https://github.com/pykeen/pykeen/pull/1373
  • โŒ›๐Ÿ“‹ Fix (Re-)Instantiation of LR-Schedule by @mberr in https://github.com/pykeen/pykeen/pull/1386
  • Fix bug that still shows tqdm when use_tqdm=False in Evaluator by @nomisto in https://github.com/pykeen/pykeen/pull/1391
  • ๐Ÿ“œ๐Ÿ”ง Fix example for LabelBasedInitializer by @mberr in https://github.com/pykeen/pykeen/pull/1403
  • fix issue of 'Full Inductive LP Example' by @mohmehmo in https://github.com/pykeen/pykeen/pull/1405
  • ๐Ÿค–๐Ÿ”ฅ Fix automatic memory optimization and improve documentation by @mberr in https://github.com/pykeen/pykeen/pull/1428
  • ๐Ÿ”™โ›ฝ Fix class docstring of BackfillRepresentation by @mberr in https://github.com/pykeen/pykeen/pull/1437
  • ๐Ÿ”ง๐Ÿฅ‡ Fix BestKeeper and add tests for checkpoint schedules by @mberr in https://github.com/pykeen/pykeen/pull/1433
  • ๐Ÿฉน๐Ÿ› Fix backfill representation by @mberr in https://github.com/pykeen/pykeen/pull/1440
  • ๐Ÿšจ๐Ÿฆบ Fix fast tests not running by @mberr in https://github.com/pykeen/pykeen/pull/1458
  • ๐Ÿงผ๐Ÿซง Fix shape handling in Interaction by @mberr in https://github.com/pykeen/pykeen/pull/1459
  • ๐ŸŽ๏ธ๐Ÿง‘โ€๐Ÿ”ง Fix device errors & mypy by @mberr in https://github.com/pykeen/pykeen/pull/1461

Removals

  • ๐Ÿ”ช๐Ÿ’จ Remove slicability annotations by @cthoyt in https://github.com/pykeen/pykeen/pull/1465
  • ๐Ÿงช๐Ÿ’จ Remove tests that never run by @cthoyt in https://github.com/pykeen/pykeen/pull/1466
  • Remove createinversetriples from init call to superclass by @nomisto in https://github.com/pykeen/pykeen/pull/1393

Docs

  • ๐Ÿ—ž๏ธ๐Ÿ“– Update docs by @cthoyt in https://github.com/pykeen/pykeen/pull/1473
  • ๐Ÿฆš๐Ÿชป Improve Documentation for pykeen.triples by @mberr in https://github.com/pykeen/pykeen/pull/1366
  • Improve documentation by @cthoyt in https://github.com/pykeen/pykeen/pull/1429
  • โœจ๐Ÿง‘โ€๐Ÿซ Improve Splitting Documentation by @mberr in https://github.com/pykeen/pykeen/pull/1411
  • Fixed some typos in the Documentation by @feldnerd in https://github.com/pykeen/pykeen/pull/1422
  • โœจ๐Ÿ“– Update understanding evaluation doc by @mberr in https://github.com/pykeen/pykeen/pull/1424
  • Fix class inheritance diagram in docs by @mberr in https://github.com/pykeen/pykeen/pull/1426
  • ๐Ÿˆ๐Ÿ‘ฉ Increase maximum sphinx version by @mberr in https://github.com/pykeen/pykeen/pull/1453
  • ๐Ÿˆ๐Ÿ‘ฉ Increase maximum sphinx version by @mberr in https://github.com/pykeen/pykeen/pull/1431
  • ๐ŸฆŸ๐Ÿ“š Extract more documentation code examples into individual files by @mberr in https://github.com/pykeen/pykeen/pull/1432

Packaging, Project Management, and Testing

  • Bump minimum Python version to 3.9 by @cthoyt in https://github.com/pykeen/pykeen/pull/1419
  • ๐Ÿ”ฅ๐Ÿ”“ Relax pytorch & numpy requirement by @mberr in https://github.com/pykeen/pykeen/pull/1475
  • ๐Ÿ“›๐Ÿ“‹ Update Badges in README by @mberr in https://github.com/pykeen/pykeen/pull/1425
  • Improve project skeleton by @cthoyt in https://github.com/pykeen/pykeen/pull/1418
  • Modernize extension loading by @cthoyt in https://github.com/pykeen/pykeen/pull/1421
  • Add Ruff cleanup by @cthoyt in https://github.com/pykeen/pykeen/pull/1420
  • ๐Ÿงนโš™๏ธ Update GHA by @mberr in https://github.com/pykeen/pykeen/pull/1415
  • ๐Ÿค–๐Ÿงผ GitHub Action Cleanup by @mberr in https://github.com/pykeen/pykeen/pull/1378
  • ๐Ÿšซ๐Ÿ”ฅ Block doc8=1.1.2 due to false positives by @mberr in https://github.com/pykeen/pykeen/pull/1438
  • โœจ๐Ÿ•ต๏ธ Fix mypy by @mberr in https://github.com/pykeen/pykeen/pull/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 https://github.com/pykeen/pykeen/issues/1102

  • โ†”๏ธโŒ Merge CrossE by @mberr in https://github.com/pykeen/pykeen/pull/1447
  • โ†”๏ธ๐ŸŸฆ Merge CP by @mberr in https://github.com/pykeen/pykeen/pull/1446
  • โ†”๏ธ๐Ÿ‘“ Merge ConvE by @mberr in https://github.com/pykeen/pykeen/pull/1443
  • โ†”๏ธ๐Ÿ“ก Merge ConvKB by @mberr in https://github.com/pykeen/pykeen/pull/1444
  • โ†”๏ธ๐Ÿ“ Merge DistMA by @mberr in https://github.com/pykeen/pykeen/pull/1445
  • โ†”๏ธโœ–๏ธ Merge DistMult by @mberr in https://github.com/pykeen/pykeen/pull/1448
  • โ†”๏ธ๐Ÿฆฟ Merge ER-MLP by @mberr in https://github.com/pykeen/pykeen/pull/1449
  • โ†”๏ธ๐Ÿฆพ Merge ER-MLP-E by @mberr in https://github.com/pykeen/pykeen/pull/1450
  • โ†”๏ธ๐Ÿ‡ Merge HolE by @mberr in https://github.com/pykeen/pykeen/pull/1451
  • โ†”๏ธ๐ŸฆŽ Merge KG2E by @mberr in https://github.com/pykeen/pykeen/pull/1452
  • โ†”๏ธ๐Ÿ‡ซ Merge TransF by @mberr in https://github.com/pykeen/pykeen/pull/1462
  • โ†”๏ธ๐Ÿš† Merge NormBasedInteraction by @mberr in https://github.com/pykeen/pykeen/pull/1456
  • โ†”๏ธ๐Ÿงฎ Merge NTN by @mberr in https://github.com/pykeen/pykeen/pull/1463
  • โ†”๏ธ๐Ÿ“ฝ๏ธ Merge ProjE by @mberr in https://github.com/pykeen/pykeen/pull/1464
  • โ†”๏ธโ‡๏ธ Merge RESCAL by @mberr in https://github.com/pykeen/pykeen/pull/1468
  • โ†”๏ธ๐Ÿงท Merge TuckER by @mberr in https://github.com/pykeen/pykeen/pull/1469
  • โ†”๏ธ๐Ÿ’ญ Merge SimplE by @mberr in https://github.com/pykeen/pykeen/pull/1470
  • โ†”๏ธ๐Ÿšš Merge TransformerInteraction by @mberr in https://github.com/pykeen/pykeen/pull/1471
  • โ†”๏ธ๐ŸŽฑ Merge QuatE by @cthoyt in https://github.com/pykeen/pykeen/pull/1472

While we were at it, we also did some more big refactoring:

  • โœจโœ‚๏ธ Refactor utilities and nn modules by @cthoyt in https://github.com/pykeen/pykeen/pull/1467

Semantic versioning is a lie. We hope you enjoy pykeen v1.11 :)

New Contributors

  • @LuisaWerner made their first contribution in https://github.com/pykeen/pykeen/pull/1345
  • @lorenzobalzani made their first contribution in https://github.com/pykeen/pykeen/pull/1377
  • @nomisto made their first contribution in https://github.com/pykeen/pykeen/pull/1391
  • @mohmehmo made their first contribution in https://github.com/pykeen/pykeen/pull/1405
  • @feldnerd made their first contribution in https://github.com/pykeen/pykeen/pull/1422

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

- Python
Published by cthoyt over 1 year ago

pykeen - v1.10.2

What's Changed

  • ๐Ÿงฐโ™ป๏ธ Add Dependency Caching by @mberr in https://github.com/pykeen/pykeen/pull/1239
  • โš–๏ธ๐Ÿ—บ๏ธ Fix estimate diversity function by @dobraczka in https://github.com/pykeen/pykeen/pull/1242
  • ๐Ÿ‘‹๐ŸŒ Update Hello World Notebook by @mberr in https://github.com/pykeen/pykeen/pull/1249
  • ๐Ÿ’พ๐Ÿ“‰ Improve Memory-Efficiency of Converting OGB Datasets to TriplesFactory by @mberr in https://github.com/pykeen/pykeen/pull/1253
  • ๐Ÿ”งโœ๏ธ Fix CachedTextRepresentation.from_dataset by @mberr in https://github.com/pykeen/pykeen/pull/1259
  • ๐Ÿงฌ ๐Ÿ’พ Add the PharMeBINet dataset by @sbonner0 in https://github.com/pykeen/pykeen/pull/1257
  • โš—๏ธ๐ŸŽฏ Fix norm limit regularizers hpo defaults by @mberr in https://github.com/pykeen/pykeen/pull/1274
  • ๐Ÿค”๐Ÿ™…โ€โ™€๏ธ Fix TransH HPO compatability by @mberr in https://github.com/pykeen/pykeen/pull/1277
  • ๐Ÿ”ฅ๐Ÿชž Fix relation prediction with inverses by @mberr in https://github.com/pykeen/pykeen/pull/1304
  • ๐Ÿงน๐Ÿง‘โ€โš–๏ธ add gcaftertrial parameter for optuna by @LizzAlice in https://github.com/pykeen/pykeen/pull/1301
  • ๐Ÿ๐Ÿš€ Use torchmaxmem for automatic memory optimization in Evaluator by @mberr in https://github.com/pykeen/pykeen/pull/1261
  • โš“โ†•๏ธ CSGraphAnchorSearcher: Ensure top-k index array is sorted by @mberr in https://github.com/pykeen/pykeen/pull/1318
  • ๐Ÿ”ฅ๐Ÿงฉ Fix NodePiece & Complex Embeddings by @mberr in https://github.com/pykeen/pykeen/pull/1288
  • ๐Ÿฅ„๐Ÿงฉ Utility to create inductive NodePiece representations by @mberr in https://github.com/pykeen/pykeen/pull/1322
  • ๐Ÿ‚๐Ÿšฎ Ensure cleanup of temporary files by @mberr in https://github.com/pykeen/pykeen/pull/1307
  • โ†”๏ธโญ Merge BoxE interaction by @mberr in https://github.com/pykeen/pykeen/pull/1180
  • ๐ŸŒ…๐Ÿ”ช Early Slicing for Lazy Target Representations by @mberr in https://github.com/pykeen/pykeen/pull/1321
  • ๐Ÿ”ง๐Ÿ”ฎ Fix predict_all for inductive inference by @mberr in https://github.com/pykeen/pykeen/pull/1320
  • ๐Ÿ—๏ธ๐ŸŒŠ Support resolving non-rank-based metrics by @mberr in https://github.com/pykeen/pykeen/pull/1237
  • ๐Ÿ“–โœจ Update readme by @mberr in https://github.com/pykeen/pykeen/pull/968
  • โ‰๏ธโญ• Raise error when encountering a checkpoint_name in the HPO configuration by @mberr in https://github.com/pykeen/pykeen/pull/1324
  • ๐Ÿ“‰โ˜Ž๏ธ Validation Loss Training Callback by @mberr in https://github.com/pykeen/pykeen/pull/1169
  • Relax protobuf requirement by @cthoyt in https://github.com/pykeen/pykeen/pull/1332
  • โœ…๐Ÿ“‰ Check Losses' HPO Defaults by @mberr in https://github.com/pykeen/pykeen/pull/1333
  • ๐Ÿ”๐Ÿ“ Bump PyTorch Geometric cpu-build version for CI by @mberr in https://github.com/pykeen/pykeen/pull/1336
  • โ˜‘๏ธ๐Ÿ’ธ Update Losses' HPO default range checks by @mberr in https://github.com/pykeen/pykeen/pull/1337
  • ๐ŸŽฃ๐Ÿ† Repo cleanup and fix RGCN's hpo_default by @mberr in https://github.com/pykeen/pykeen/pull/1370

New Contributors

  • @LizzAlice made their first contribution in https://github.com/pykeen/pykeen/pull/1301

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.10.1...v1.10.2

- Python
Published by cthoyt about 2 years ago

pykeen - v1.10.1

What's Changed

  • ๐Ÿ“š๐Ÿ›— Update Prediction Migration Guide by @mberr in https://github.com/pykeen/pykeen/pull/1233
  • ๐Ÿšš๐ŸชžMake sure inductive representation is on same device by @dobraczka in https://github.com/pykeen/pykeen/pull/1229

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.10.0...v1.10.1

- Python
Published by cthoyt about 3 years ago

pykeen - v1.10.0

The PyKEEN 1.10 release contains a huge variety of bug fixes, performance improvements, and new features. A few highlights include symmetric sLCWA training loop, evaluation with OGB, biomedical entity representation modules, low-rank representation approximation, and many improvements to the prediction pipeline.

Models and Layers

  • ๐Ÿ”งโœˆ๏ธ Fix TransH by @mberr in https://github.com/pykeen/pykeen/pull/1057
  • โ™šโ™” Update ConvKB interaction by @mberr in https://github.com/pykeen/pykeen/pull/1065
  • ๐Ÿธ๐Ÿซ– Fix QuatE by @mberr in https://github.com/pykeen/pykeen/pull/1056
  • ๐Ÿธ๐Ÿซ– Fix failing QuatE tests by @mberr in https://github.com/pykeen/pykeen/pull/1070
  • ๐Ÿฉน๐Ÿ’ฏ Fix typo in OpenEA graph size by @dobraczka in https://github.com/pykeen/pykeen/pull/1073
  • ๐ŸŒ‘โ›ฑ๏ธ Inductive ERModel base class by @mberr in https://github.com/pykeen/pykeen/pull/1106
  • ๐Ÿ‹๏ธ ๐Ÿ”ง Kwargs fix for edge weighting in CompGCNLayer by @migalkin in https://github.com/pykeen/pykeen/pull/1138
  • โ†”๏ธโญ Merge ComplEx interaction by @mberr in https://github.com/pykeen/pykeen/pull/1103
  • โ†”๏ธโญ Merge AutoSF interaction by @mberr in https://github.com/pykeen/pykeen/pull/1112
  • ๐Ÿฆท ๐Ÿ”„ Extract inversion utilities by @cthoyt in https://github.com/pykeen/pykeen/pull/1203

NodePiece

  • ๐Ÿ“ฟ ๐Ÿงฉ Support disconnected nodes in the Relation tokenizer by @migalkin in https://github.com/pykeen/pykeen/pull/1064
  • โš™๏ธ๐Ÿ”ข Fix InductiveNodePiece for parametric aggregations by @mberr in https://github.com/pykeen/pykeen/pull/1104

Documentation

  • ๐Ÿ–Š๏ธ๐Ÿ“– Fix typo in tutorial by @mberr in https://github.com/pykeen/pykeen/pull/1067

Performance

  • ๐Ÿญ ๐Ÿš€ Add optional dep for opt_einsum by @mberr in https://github.com/pykeen/pykeen/pull/1058
  • โšฝ ๐Ÿ”ง Properly shuttle tensors to CPU in rank-based evaluator by @Allaway11 in https://github.com/pykeen/pykeen/pull/1076
  • ๐Ÿญ๐Ÿง‘โ€๐Ÿš€ Update remaining einsum usages by @mberr in https://github.com/pykeen/pykeen/pull/1068
  • โ™ป๏ธโš™๏ธ Re-use AMO for predicttriplesdf by @mberr in https://github.com/pykeen/pykeen/pull/1089

Pipeline and Prediction

  • ๐Ÿ”ฎโ˜• Custom Prediction Filtering by @mberr in https://github.com/pykeen/pykeen/pull/1090
  • ๐Ÿช“๐Ÿ’ป Split Pipeline Code by @mberr in https://github.com/pykeen/pykeen/pull/1075
  • ๐Ÿ”ฎ๐Ÿค” Upgrade Prediction Consumers by @mberr in https://github.com/pykeen/pykeen/pull/1078
  • ๐ŸŒ€ ๐Ÿดโ€โ˜ ๏ธ Clean up inverse triples arguments by @cthoyt in https://github.com/pykeen/pykeen/pull/1092
  • ๐Ÿ›๐Ÿ” Fixing bug with index-error for predict.consume_scores by @AImenes in https://github.com/pykeen/pykeen/pull/1157

Representation

  • ๐Ÿ”ต๐ŸŸฆ Approximate other representation with Low-Rank by @mberr in https://github.com/pykeen/pykeen/pull/1091
  • ๐Ÿ—ฟ๐Ÿ“– Update text-based representation tutorial by @mberr in https://github.com/pykeen/pykeen/pull/1147
  • ๐Ÿ“œ๐Ÿ”ง Fix labels not being converted to list by @mberr in https://github.com/pykeen/pykeen/pull/1209
  • ๐Ÿชž๐Ÿงฌ Text representation for biomedical entities via PyOBO by @cthoyt in https://github.com/pykeen/pykeen/pull/1055

Training and Negative Sampling

  • โ˜บ๏ธ๐Ÿซ– Relax Slicing Check by @mberr in https://github.com/pykeen/pykeen/pull/1216
  • ๐Ÿชž๐Ÿš† Symmetric LCWA by @mberr in https://github.com/pykeen/pykeen/pull/1098
  • ๐Ÿซด๐Ÿ”‹ Fix to pass any negative sampler kwargs through if present by @sbonner0 in https://github.com/pykeen/pykeen/pull/1119
  • ๐Ÿ’พ๐Ÿš† Fix re-loading training triples by @mberr in https://github.com/pykeen/pykeen/pull/1185

Loss

  • Remove unnecessary unsqueezing in MRL by @sbonner0 in https://github.com/pykeen/pykeen/pull/1128
  • :book: :hammerandwrench: Fix losses docs typos by @nicolafan in https://github.com/pykeen/pykeen/pull/1200

Metrics and Evaluation

  • ๐Ÿ”๐Ÿ“ˆ Fix MacroRankBasedEvaluator share precomputed weights for different triples by @mberr in https://github.com/pykeen/pykeen/pull/1079
  • ๐Ÿงฎ๐Ÿชž Rank-Based Metrics with Confidence Estimates via Bootstrapping by @mberr in https://github.com/pykeen/pykeen/pull/1084
  • Incremental ranks by @mberr in https://github.com/pykeen/pykeen/pull/1083
  • ๐Ÿ˜ฎ๐Ÿช‘ Add basic support of OGB's evaluation by @mberr in https://github.com/pykeen/pykeen/pull/1088
  • ๐Ÿ˜ฎ๐Ÿช‘ Add OGB Evaluator by @mberr in https://github.com/pykeen/pykeen/pull/948
  • ๐ŸŒช๏ธโžฐ Evaluation loop and filter triples by @mberr in https://github.com/pykeen/pykeen/pull/1214
  • โ›ณ๐Ÿ’Œ Separately Expose Clearing of Intermediate Evaluator Results by @mberr in https://github.com/pykeen/pykeen/pull/1195

Lightning

  • โšก๐Ÿฉน Fix lightning training without validation by @mberr in https://github.com/pykeen/pykeen/pull/1158
  • โšก๐Ÿงช Bring back lightning tests by @mberr in https://github.com/pykeen/pykeen/pull/1191

Misc

  • ๐Ÿ“Œ๐Ÿ–ผ๏ธ Fix plotting utility by @mberr in https://github.com/pykeen/pykeen/pull/1072
  • โ˜๏ธโ˜€๏ธ Fix word cloud by @mberr in https://github.com/pykeen/pykeen/pull/1081
  • โœ‚๏ธโŒจ๏ธ Remove unused code by @mberr in https://github.com/pykeen/pykeen/pull/1095
  • ๐Ÿ’ฒ๐Ÿš Remove $ sign from README shell examples by @mberr in https://github.com/pykeen/pykeen/pull/1101
  • ๐Ÿฉน๐Ÿง‘โ€๐Ÿซ Fix scikit-learn dependency by @dobraczka in https://github.com/pykeen/pykeen/pull/1122
  • ๐Ÿ‘ท๐Ÿš‡ Fix CI failure due to new versions by @mberr in https://github.com/pykeen/pykeen/pull/1170
  • ๐Ÿฉน๐ŸชŸ Fix Windows installation instructions by @jamesmyatt in https://github.com/pykeen/pykeen/pull/1164
  • ๐Ÿงน๐Ÿป Cleanup before 1.9 release by @cthoyt in https://github.com/pykeen/pykeen/pull/1204
  • ๐Ÿฉนโš™๏ธ Include resulttracker field in dict returned by _getbeststudyconfig() by @AntonisKl in https://github.com/pykeen/pykeen/pull/1206

New Contributors

  • @Allaway11 made their first contribution in https://github.com/pykeen/pykeen/pull/1076
  • @jamesmyatt made their first contribution in https://github.com/pykeen/pykeen/pull/1164
  • @AImenes made their first contribution in https://github.com/pykeen/pykeen/pull/1157
  • @nicolafan made their first contribution in https://github.com/pykeen/pykeen/pull/1200
  • @AntonisKl made their first contribution in https://github.com/pykeen/pykeen/pull/1206

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.9.0...v1.10.0

- Python
Published by cthoyt about 3 years ago

pykeen - v1.9.0

The theme of this release of PyKEEN is centered on new and exciting representations to bring more kinds of data (text, image, scalar data) into training in an elegant way. Several of these contribute to new functionality for NodePiece.

Training and Evaluation

  • ๐Ÿ”ฌ๐Ÿ” Evaluation loop by @mberr in https://github.com/pykeen/pykeen/pull/768
  • ๐Ÿฆ๐Ÿ›‘ Early stopping: Reload weights from best epoch by @mberr in https://github.com/pykeen/pykeen/pull/961
  • ๐Ÿ”ฌ๐Ÿšช Update evaluator's evaluate to pass through kwargs by @mberr in https://github.com/pykeen/pykeen/pull/938
  • ๐ŸŒช๐Ÿ˜ฟ Fix epoch loss by @mberr in https://github.com/pykeen/pykeen/pull/1021

Datasets

  • ๐Ÿฅจ๐Ÿ•ธ๏ธ Add Global Biotic Interactions (GloBI) dataset by @cthoyt in https://github.com/pykeen/pykeen/pull/947
  • Fix dataset caching with inverse triples by @mberr in https://github.com/pykeen/pykeen/pull/1034

Models

New

  • ๐Ÿ‡จ๐Ÿ‡ด๐Ÿ•ธ๏ธ Add co-occurence filtered meta model by @mberr in https://github.com/pykeen/pykeen/pull/943

Updates

  • ๐Ÿ“๐Ÿค Add LineaRE interaction by @mberr in https://github.com/pykeen/pykeen/pull/971
  • โœจ๐Ÿค– Update ERMLP to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/869
  • โœจ๐Ÿค– Update ERMLP-E to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/872
  • โœจ๐Ÿค– Update HolE to ER-Model by @mberr in https://github.com/pykeen/pykeen/pull/953
  • โœจ๐Ÿค– Update TransE to ER-Model by @mberr in https://github.com/pykeen/pykeen/pull/955
  • โœจ๐Ÿค– Update TransH to ER-Model by @mberr in https://github.com/pykeen/pykeen/pull/954
  • โœจ๐Ÿค– Update RESCAL to ER-Model by @mberr in https://github.com/pykeen/pykeen/pull/952
  • โœจ๐Ÿ’€ Phase out old-style model by @mberr in https://github.com/pykeen/pykeen/pull/865
  • ๐Ÿซถ ๐Ÿงจ Update ConvKB & SE to use einsum by @mberr in https://github.com/pykeen/pykeen/pull/978
  • ๐ŸŽ๏ธ ๐Ÿดโ€โ˜ ๏ธ Add efficient RGCN implementation by @mberr in https://github.com/pykeen/pykeen/pull/634
  • ๐Ÿ”งโžก๏ธ Move Nguyen's TransE configurations into correct directory by @PhaelIshall in https://github.com/pykeen/pykeen/pull/957

Representations

  • ๐Ÿ‘ฅ๐Ÿ“ Wikidata Textual Representations by @mberr in https://github.com/pykeen/pykeen/pull/966
  • ๐Ÿ”—๐Ÿ—ฟ Combined Representation by @mberr in https://github.com/pykeen/pykeen/pull/964
  • ๐Ÿ”ณ๐Ÿ”ฒ Add PartitionRepresentation by @mberr in https://github.com/pykeen/pykeen/pull/980
  • ๐Ÿ“‹โ‡๏ธ Generalize Text Encoders & add a simple one by @mberr in https://github.com/pykeen/pykeen/pull/969
  • ๐Ÿšš๐Ÿ—ฝ Add transformed representation by @mberr in https://github.com/pykeen/pykeen/pull/984
  • ๐Ÿ‘€๐Ÿ“‡ Simple visual representations by @mberr in https://github.com/pykeen/pykeen/pull/965
  • ๐Ÿ‹๏ธ๐Ÿš‚ Tensor Train Representation by @mberr in https://github.com/pykeen/pykeen/pull/989

NodePiece

  • โš“๐Ÿ” NodePiece: GPU-enabled BFS searcher by @migalkin in https://github.com/pykeen/pykeen/pull/990
  • ๐Ÿดโ€โ˜ ๏ธ๐ŸŒŠ NodePiece x METIS by @mberr in https://github.com/pykeen/pykeen/pull/988
  • โš“ ๐Ÿ“– NodePiece documentation on MetisAnchorTokenizer by @migalkin in https://github.com/pykeen/pykeen/pull/1026

Documentation

  • ๐Ÿ˜บ๐Ÿ‡ช๐Ÿ‡ฌ Explicitly set Sphinx language by @mberr in https://github.com/pykeen/pykeen/pull/951
  • ๐Ÿ’ฅ ๐Ÿ“’ Add troubleshooting for loading old models by @jas-ho in https://github.com/pykeen/pykeen/pull/963
  • ๐Ÿ“˜ ๐Ÿš€ Update README by @cthoyt in https://github.com/pykeen/pykeen/pull/1039
  • ๐Ÿ“’ ๐Ÿคก Fix documentation build by @cthoyt in https://github.com/pykeen/pykeen/pull/946
  • ๐Ÿ“• ๐Ÿดโ€โ˜ ๏ธ Update docs and deprecations by @mberr in https://github.com/pykeen/pykeen/pull/979
  • ๐Ÿ“— ๐Ÿ–Š๏ธ Update docs about normalizers and constrainers by @mberr in https://github.com/pykeen/pykeen/pull/1047

Loss

  • โš”๏ธโš–๏ธ Add adversarially weighted BCE loss by @mberr in https://github.com/pykeen/pykeen/pull/958
  • โš”๏ธ๐Ÿค” New procedure for computing AdversarialBCEWithLogits by @migalkin in https://github.com/pykeen/pykeen/pull/997

Predictions

  • ๐Ÿ‰๐Ÿ‰ Score multiple tails at once by @mberr in https://github.com/pykeen/pykeen/pull/949
  • ๐Ÿ”ฎใ€ฐ๏ธ Update Prediction Filtering by @mberr in https://github.com/pykeen/pykeen/pull/1048
  • ๐Ÿ”ฎ ๐ŸŽ‰ Add inferencemode annotation to getprediction_df() by @tatiana-iazykova in https://github.com/pykeen/pykeen/pull/1024
  • ๐Ÿ”จ๐Ÿงช Fix the device in _safe_evaluate() by @migalkin in https://github.com/pykeen/pykeen/pull/1041

Meta

  • ๐Ÿค–๐Ÿ–๏ธ Update GHA by @mberr in https://github.com/pykeen/pykeen/pull/959
  • ๐Ÿฆˆ๐Ÿงต Darglint forever by @cthoyt in https://github.com/pykeen/pykeen/pull/985

Misc

  • ๐Ÿšจ๐Ÿ“Š Cast kwargs as strings in plot_er by @vsocrates in https://github.com/pykeen/pykeen/pull/945
  • โ›๐Ÿ“ฒ Add utility to analyze degree distributions by @mberr in https://github.com/pykeen/pykeen/pull/857
  • ๐Ÿฅฏโœ”๏ธ Add max_id/shape verification by @mberr in https://github.com/pykeen/pykeen/pull/983
  • Use torch_ppr by @mberr in https://github.com/pykeen/pykeen/pull/995
  • โž•๐Ÿน Add ExtraReprMixin by @mberr in https://github.com/pykeen/pykeen/pull/994
  • ๐Ÿ›ค๏ธ๐Ÿ›ข๏ธ Add prefix when tracking pipeline metrics by @mberr in https://github.com/pykeen/pykeen/pull/998
  • โญ•๐Ÿ”บ Update PyG version for CI by @mberr in https://github.com/pykeen/pykeen/pull/1025
  • #๏ธโƒฃ๐Ÿ Allow passing numpy.ndarray to CoreTriplesFactory by @mberr in https://github.com/pykeen/pykeen/pull/1029

New Contributors

  • @PhaelIshall made their first contribution in https://github.com/pykeen/pykeen/pull/957
  • @jas-ho made their first contribution in https://github.com/pykeen/pykeen/pull/963
  • @tatiana-iazykova made their first contribution in https://github.com/pykeen/pykeen/pull/1024

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.8.2...v1.9.0

- Python
Published by cthoyt over 3 years ago

pykeen - v1.8.2

Datasets

  • Add the PrimeKG dataset by @sbonner0 in https://github.com/pykeen/pykeen/pull/915
  • ๐ŸŒ€๐Ÿ”— Extend EA datasets to allow loading a unified graph by @mberr in https://github.com/pykeen/pykeen/pull/871
  • ๐ŸŽบ๐ŸŽท Fix wk3l loading by @mberr in https://github.com/pykeen/pykeen/pull/907

Lightning

  • ๐Ÿ”ฅโšก PyTorch Lightning by @mberr in https://github.com/pykeen/pykeen/pull/905
  • ๐Ÿ”ฅโšก PyTorch Lightning - Part 2 by @mberr in https://github.com/pykeen/pykeen/pull/917
  • ๐Ÿš…โšก Test Training with PyTorch Lightning by @mberr in https://github.com/pykeen/pykeen/pull/930

Losses

  • ๐Ÿ“‰๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Fix default loss of PairRE by @mberr in https://github.com/pykeen/pykeen/pull/925
  • โ„น๏ธ๐Ÿฆญ Add InfoNCE loss by @mberr in https://github.com/pykeen/pykeen/pull/926
  • โ„น๏ธ๐Ÿš€ Update InfoNCE LCWA implementation by @mberr in https://github.com/pykeen/pykeen/pull/928

Representations

  • ๐ŸŽฒ๐Ÿšถ Random Walk Positional Encoding by @mberr in https://github.com/pykeen/pykeen/pull/918
  • ๐Ÿ›๏ธ๐Ÿ‘จ Weisfeiler-Lehman Features by @mberr in https://github.com/pykeen/pykeen/pull/920

Other great stuff that isn't the previous commit (it's after 5PM)

  • ๐Ÿงซ๐Ÿ Update scipy minimum version by @mberr in https://github.com/pykeen/pykeen/pull/891
  • โ™ป๏ธโ˜Ž๏ธ Re-use optimized batch-size in evaluation callback by @mberr in https://github.com/pykeen/pykeen/pull/886
  • ๐Ÿ–ฅ๏ธ๐ŸฆŽ Fix complex initialization by @mberr in https://github.com/pykeen/pykeen/pull/888
  • ๐Ÿ“ฆ๐Ÿ“š Update BoxE reproducibility configurations by @mberr in https://github.com/pykeen/pykeen/pull/631
  • ๐Ÿซ“๐Ÿช Improve loading of triples with nan strings by @SenJia in https://github.com/pykeen/pykeen/pull/883
  • ๐Ÿชต โœจ Update flake8 ignores by @cthoyt in https://github.com/pykeen/pykeen/pull/897
  • ๐Ÿ‘ฏโ€โ™‚๏ธ๐Ÿ‘ฏโ€โ™€๏ธ Unique hashes in the NodePiece representation by @migalkin in https://github.com/pykeen/pykeen/pull/896
  • ๐Ÿ“๐Ÿ“จ PyTorch Geometric Message Passing Representations by @mberr in https://github.com/pykeen/pykeen/pull/894
  • ๐Ÿช›๐Ÿ“ Fix directory path normalization by @mberr in https://github.com/pykeen/pykeen/pull/890
  • ๐Ÿง›๐Ÿ‡ช๐Ÿ‡บ Implement more graph pair unification approaches by @mberr in https://github.com/pykeen/pykeen/pull/893
  • ๐Ÿ”™๐ŸŒ™ Backwards Compatibility for init phases by @mberr in https://github.com/pykeen/pykeen/pull/899
  • ๐Ÿ“”โœ… Update Docstring Coverage check by @mberr in https://github.com/pykeen/pykeen/pull/892
  • ๐Ÿช„๐Ÿ–Š๏ธ Class resolver type annotations by @mberr in https://github.com/pykeen/pykeen/pull/904
  • ๐Ÿ“‹โžก๏ธ Move listing experiments from epilog to own command by @mberr in https://github.com/pykeen/pykeen/pull/903
  • ๐Ÿ”ง๐Ÿ“œ Update hpo tutorial about grid search by @mberr in https://github.com/pykeen/pykeen/pull/902
  • ๐Ÿ“– ๐Ÿ› ๏ธ Fix typo in prediction docs by @mberr in https://github.com/pykeen/pykeen/pull/912
  • โœ‚๏ธ๐ŸŒฐ Extract triple-independent information from CoreTriplesFactory by @mberr in https://github.com/pykeen/pykeen/pull/908
  • ๐Ÿ๐Ÿ‘ Increase Minimum Python Version to 3.8 by @mberr in https://github.com/pykeen/pykeen/pull/921
  • ๐Ÿงš๐Ÿ’พ Extend save to directory doc by @mberr in https://github.com/pykeen/pykeen/pull/916
  • ๐Ÿง ๐Ÿท๏ธ Maximize memory utilization for label based initialization by @mberr in https://github.com/pykeen/pykeen/pull/898
  • โœ๏ธ๐Ÿ‡ฎ๐Ÿ‡ณ Rename inductive representation methods by @mberr in https://github.com/pykeen/pykeen/pull/929
  • ๐Ÿ‘พ โšฝ Add missing device by @vsocrates in https://github.com/pykeen/pykeen/pull/936

New Contributors

  • @SenJia made their first contribution in https://github.com/pykeen/pykeen/pull/883
  • @vsocrates made their first contribution in https://github.com/pykeen/pykeen/pull/936

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.8.1...v1.8.2

- Python
Published by cthoyt almost 4 years ago

pykeen - v1.8.1

PyKEEN 1.8.1 contains a few critical bug fixes along with some other cool updates.

Evaluation

  • โš–๏ธ๐ŸŒก๏ธ Weighted Rank-Based Metrics by @mberr in https://github.com/pykeen/pykeen/pull/837
  • ๐ŸŒŒ๐Ÿง Macro evaluation by @mberr in https://github.com/pykeen/pykeen/pull/850

Inductive Models

  • โš“๐Ÿง NodePiece Anchor Searching via PPR by @mberr in https://github.com/pykeen/pykeen/pull/870

Transductive Models

  • โœจ๐Ÿค– Update DistMult to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/874
  • โœจ๐Ÿค– Update ProjE to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/876
  • โœจ๐Ÿค– Update RotatE to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/877
  • โœจ๐Ÿค– Update ConvE to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/875
  • ๐Ÿš›ยฎ๏ธ Update TuckER to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/866
  • โœจ๐Ÿฆœ Upgrade TransR to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/868

New Datasets

  • ๐ŸŒช๏ธ ๐Ÿ“– Add ILPC datasets and inductive dataset resolver by @cthoyt in https://github.com/pykeen/pykeen/pull/848
  • ๐Ÿ‘‘๐Ÿค‘ Add aristo-v4 dataset by @mberr in https://github.com/pykeen/pykeen/pull/855

Documentation

  • ๐Ÿ“—โœจ Update documentation to better reflect new-style models by @mberr in https://github.com/pykeen/pykeen/pull/879
  • ๐Ÿ‘ฃ ๐Ÿ“š Correct typos in "First Steps" tutorial by @andreasala98 in https://github.com/pykeen/pykeen/pull/846

Bug Fixes

  • ๐Ÿ”ง#๏ธโƒฃ Fix arange dtype and clip variances by @mberr in https://github.com/pykeen/pykeen/pull/881
  • ๐Ÿช„โš–๏ธ Fix popregularizationterm by @mberr in https://github.com/pykeen/pykeen/pull/849
  • ๐Ÿง‘โ€๐Ÿญ๐Ÿ”ข Fix numeric triples factory by @mberr in https://github.com/pykeen/pykeen/pull/862
  • ๐Ÿ” ๐Ÿช“ Ensure reproducible splits for all datasets by @mberr in https://github.com/pykeen/pykeen/pull/856
  • ๐Ÿšซ๐Ÿ‹ Raise explicit error if no training batch was available by @mberr in https://github.com/pykeen/pykeen/pull/860
  • ๐Ÿšš๐Ÿ’ป Fix TransformerEncoder tokens' device by @mberr in https://github.com/pykeen/pykeen/pull/861

Misc

  • ๐Ÿ”Ž๐Ÿ‹๏ธ Resolve optimizer, LR-scheduler & tracker in training loop by @mberr in https://github.com/pykeen/pykeen/pull/852
  • ๐ŸŽฏ๐Ÿชœ Update default batch size HPO range by @mberr in https://github.com/pykeen/pykeen/pull/864
  • โ™ป๏ธ๐Ÿ”ฅ Use torch builtin broadcast by @mberr in https://github.com/pykeen/pykeen/pull/873

New Contributors

  • @andreasala98 made their first contribution in https://github.com/pykeen/pykeen/pull/846

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.8.0...v1.8.1

- Python
Published by cthoyt almost 4 years ago

pykeen - v1.8.0

Among a ton of updates since the beginning of the year, PyKEEN v1.8.0 has three major themes:

  1. The introduction of the inductive link prediction pipeline and the NodePiece model. We highly suggest checking out An Open Challenge for Inductive Link Prediction on Knowledge Graphs to go along with this new pipeline and models.
  2. The introduction of new rank-based evaluation metrics to go along with A Unified Framework for Rank-based Evaluation Metrics for Link Prediction in Knowledge Graphs
  3. Major internal refactoring of negative sampling to better use PyTorch's data loaders and support multi-CPU generation (special thanks to @Koenkalle for help testing this)

NodePiece and Inductive Link Prediction

  • ๐Ÿฆ†๐Ÿ Inductive LP framework by @migalkin in https://github.com/pykeen/pykeen/pull/722
  • ๐ŸŒ™๐Ÿบ Add mode parameter by @cthoyt in https://github.com/pykeen/pykeen/pull/769
  • ๐ŸธโœŒ๏ธ Mixed tokenization for NodePiece by @mberr in https://github.com/pykeen/pykeen/pull/770
  • โ˜ฎ๏ธโš“ NodePiece with anchors by @mberr in https://github.com/pykeen/pykeen/pull/755
  • ๐Ÿฅ’๐Ÿดโ€โ˜ ๏ธ Precomputed Tokenization for NodePiece by @mberr in https://github.com/pykeen/pykeen/pull/822
  • ๐Ÿฆœ๐Ÿ“– Refactor NodePiece and improve documentation by @cthoyt in https://github.com/pykeen/pykeen/pull/833
  • โš“ ๐Ÿ”ง NodePiece MixtureAnchorSelection unique anchor IDs fix + PageRank fix by @migalkin in https://github.com/pykeen/pykeen/pull/776
  • ๐Ÿงฉ๐Ÿงช NodePiece experimental configs by @migalkin in https://github.com/pykeen/pykeen/pull/771
  • ๐Ÿ‘€ ๐Ÿ‹๏ธ Attention edge weighting by @migalkin in https://github.com/pykeen/pykeen/pull/734

Models

New

  • โ›Ÿโ†”๏ธ Add (multi-)linear Tucker interaction by @mberr in https://github.com/pykeen/pykeen/pull/751
  • ๐Ÿฆ ๐ŸŽธ Soft inverse triples baseline by @mberr in https://github.com/pykeen/pykeen/pull/543

Updated

  • ๐Ÿค– โ›‘๏ธ Fix device for FixedModel by @mberr in https://github.com/pykeen/pykeen/pull/725
  • ๐Ÿง€ ๐Ÿน Unify usage of slice_size by @cthoyt in https://github.com/pykeen/pykeen/pull/729
  • ๐Ÿ“Ÿ โœ‚๏ธ Remove device from model by @cthoyt in https://github.com/pykeen/pykeen/pull/730
  • ๐Ÿ’ƒ ๐Ÿชฅ Cleanup model argument passing by @cthoyt in https://github.com/pykeen/pykeen/pull/762

Training and Evaluation

  • โœ‚๏ธ โฐ Split early stopping logic from evaluation by @mberr in https://github.com/pykeen/pykeen/pull/355
  • ๐ŸŽฒ๐ŸŽš๏ธ Sampled Rank-Based Evaluator by @mberr in https://github.com/pykeen/pykeen/pull/733
  • โ›ยฉ๏ธ Fix Checkpointing by @mberr in https://github.com/pykeen/pykeen/pull/740
  • ๐ŸŒ‹ ๐Ÿ—บ๏ธ Switch evaluator from dataclass to dict by @cthoyt in https://github.com/pykeen/pykeen/pull/780
  • ๐ŸŒ€ โš–๏ธ Simplify evaluate by @mberr in https://github.com/pykeen/pykeen/pull/767
  • ๐Ÿ›ค๏ธ ๐Ÿ” Store result tracker inside loop by @mberr in https://github.com/pykeen/pykeen/pull/793

Callbacks

  • ๐Ÿ“ž๐Ÿ”™ Evaluation callback by @mberr in https://github.com/pykeen/pykeen/pull/765
  • ๐ŸฅŠ โ˜Ž๏ธ Early stopping via training callback by @mberr in https://github.com/pykeen/pykeen/pull/354

Data and Datasets

New

  • ๐Ÿชข๐Ÿค” Add OpenEA datasets by @dobraczka in https://github.com/pykeen/pykeen/pull/784
  • ๐Ÿ’‰8๏ธโƒฃ Add the PharmKG8k dataset by @sbonner0 in https://github.com/pykeen/pykeen/pull/797
  • ๐Ÿงช๐Ÿ’‰ Add PharmKG full dataset by @sbonner0 in https://github.com/pykeen/pykeen/pull/806
  • โ™ป๏ธ 2๏ธโƒฃ Replace OGB's WikiKG by WikiKG2 by @mberr in https://github.com/pykeen/pykeen/pull/809

Updates

  • ๐Ÿ“Œ๐Ÿง  Use pinned memory for training data loader by @mberr in https://github.com/pykeen/pykeen/pull/747
  • ๐Ÿงฎ๐Ÿ’ƒ Add property for number of parameters by @mberr in https://github.com/pykeen/pykeen/pull/804
  • ๐Ÿ’พ โ™ป๏ธ Refactor dataset utility code by @cthoyt in https://github.com/pykeen/pykeen/pull/830
  • ๐Ÿ’พ ๐Ÿ• Update dataset registration by @cthoyt in https://github.com/pykeen/pykeen/pull/832
  • ๐Ÿ’พ ๐Ÿš€ Update dataset statistics by @cthoyt in https://github.com/pykeen/pykeen/pull/834
  • ๐Ÿ˜ด๐Ÿฒ Ignore createinversetriples for caching hash digest by @mberr in https://github.com/pykeen/pykeen/pull/813
  • ๐Ÿ–‡๏ธ ๐Ÿ“Š Use Figshare link for OpenEA dataset by @dobraczka in https://github.com/pykeen/pykeen/pull/838
  • ๐Ÿ“ฆ ๐Ÿ’พ Batch data loader by @mberr in https://github.com/pykeen/pykeen/pull/817
  • ๐Ÿ“ฅ ๐Ÿญ Save Training Triples Factory by @mali-git in https://github.com/pykeen/pykeen/pull/655
  • ๐Ÿฆž ๐Ÿ’ฟ Negative sampling in data loader by @mberr in https://github.com/pykeen/pykeen/pull/417
  • ๐Ÿ’พ๐Ÿ’ฝ Change serialization format by @mberr in https://github.com/pykeen/pykeen/pull/785
  • ๐Ÿงฐ ๐Ÿ“ฅ Cache dataset loading by @mberr in https://github.com/pykeen/pykeen/pull/569

Metrics

  • ๐Ÿ“๐Ÿช• Compute Candidate Set Sizes by @mberr in https://github.com/pykeen/pykeen/pull/732
  • ๐Ÿ† ๐Ÿฑ Update rank data structure by @cthoyt in https://github.com/pykeen/pykeen/pull/758
  • ๐Ÿ“ ๐Ÿฑ Update metric key data structure by @cthoyt in https://github.com/pykeen/pykeen/pull/759
  • ๐Ÿณ ๐Ÿ˜ƒ Reorganize metrics and expectation functions by @cthoyt in https://github.com/pykeen/pykeen/pull/763
  • ๐Ÿ›๏ธ ๐Ÿ‘ฝ Add improved indicator constructor by @cthoyt in https://github.com/pykeen/pykeen/pull/781
  • ๐Ÿ›๏ธ ๐Ÿฅพ Improve metrics data structures by @cthoyt in https://github.com/pykeen/pykeen/pull/782
  • ๐ŸŽฉ ๐ŸŽธ Class-Based Rank-Based Metrics by @mberr in https://github.com/pykeen/pykeen/pull/786
  • โš™๏ธ๐ŸŒก๏ธ Add more adjusted metrics by @cthoyt in https://github.com/pykeen/pykeen/pull/814
  • ๐Ÿชก๐Ÿ—œ๏ธ Refactor derived metrics by @mberr in https://github.com/pykeen/pykeen/pull/835
  • ๐Ÿ”ข ๐ŸŽ Update value range & docstring of adjusted metrics by @mberr in https://github.com/pykeen/pykeen/pull/823
  • โž•๐ŸŒ Add option to add all default rank-based metrics by @mberr in https://github.com/pykeen/pykeen/pull/827
  • ๐Ÿช›๐Ÿ’ก Fix RankBasedMetricResults.iter_rows by @mberr in https://github.com/pykeen/pykeen/pull/792

Prediction

  • ๐Ÿ™ƒ๐Ÿ‘“ Predict workflow with inverse relations by @mberr in https://github.com/pykeen/pykeen/pull/726

Representations

  • ๐Ÿช›๐Ÿ”— Change interactions' shape by @mberr in https://github.com/pykeen/pykeen/pull/736
  • ๐Ÿ ๐Ÿ›ฐ๏ธ Update constrainer, initializer, and normalizer resolution by @mberr in https://github.com/pykeen/pykeen/pull/742
  • ๐Ÿฆ„ ๐Ÿ”ข Only get representations for unique indices by @mberr in https://github.com/pykeen/pykeen/pull/743
  • โ›”๐Ÿ’  Remove get in canonical shape by @mberr in https://github.com/pykeen/pykeen/pull/745
  • โฉ๐Ÿ›Œ Fix dtype forwarding in Embedding by @mberr in https://github.com/pykeen/pykeen/pull/746
  • ๐Ÿ“๐Ÿ•ณ๏ธ Move normalization to base representation by @mberr in https://github.com/pykeen/pykeen/pull/818
  • โœ๏ธ๐Ÿ“ Unify representation module nomenclature by @mberr in https://github.com/pykeen/pykeen/pull/811
  • โœจ๐Ÿ’ค Resolve Representations by @mberr in https://github.com/pykeen/pykeen/pull/803

Trackers

  • Add loss kwargs to ResultTracker by @Rodrigo-A-Pereira in https://github.com/pykeen/pykeen/pull/741
  • ๐Ÿชก๐Ÿ’ป Fix typo in ConsoleTracker.log_metrics by @mberr in https://github.com/pykeen/pykeen/pull/787

Fixes

  • ๐ŸŒ๐Ÿ Fix ValueError during size probing on GPU machines by @mberr in https://github.com/pykeen/pykeen/pull/821
  • ๐Ÿช„โžฐ Fix device error in training loop by @mberr in https://github.com/pykeen/pykeen/pull/774
  • โ˜•๐Ÿ“ฑ Fix filterer's device by @mberr in https://github.com/pykeen/pykeen/pull/801
  • โ›ต๐Ÿ’ป Make sure indices are moved to device by @mberr in https://github.com/pykeen/pykeen/pull/800

Documentation, Typing, and Packaging

  • ๐ŸŒŠ ๐Ÿ‘‹ Goodbye to setup.py and Makefile for building the docs by @cthoyt in https://github.com/pykeen/pykeen/pull/761
  • ๐ŸŒŒ ๐Ÿฅ› Update Constants and Types by @mberr in https://github.com/pykeen/pykeen/pull/754
  • ๐Ÿ”ซ ๐Ÿˆโ€โฌ› Update black by @cthoyt in https://github.com/pykeen/pykeen/pull/764
  • ๐Ÿ ๐Ÿ’ช Add Python 3.10 support by @cthoyt in https://github.com/pykeen/pykeen/pull/831
  • ๐Ÿฅฐ ๐Ÿ“™ Update argument passing and documentation by @cthoyt in https://github.com/pykeen/pykeen/pull/842
  • ๐ŸŠ โŒจ๏ธ Typing Updates by @cthoyt in https://github.com/pykeen/pykeen/pull/760
  • โš™๏ธ๐Ÿ“š Fix HPO doc by @mberr in https://github.com/pykeen/pykeen/pull/820
  • ๐Ÿ“–๐Ÿ”ช Extend documentation on subbatching and slicing by @mberr in https://github.com/pykeen/pykeen/pull/810

Misc

  • โœ‰๏ธ โ™ป๏ธ Add list of available configurations to usage message of reproduction by @mberr in https://github.com/pykeen/pykeen/pull/753
  • ๐ŸฆŽโšก Update class-resolver by @cthoyt in https://github.com/pykeen/pykeen/pull/775

Full Changelog: https://github.com/pykeen/pykeen/compare/v1.7.0...v1.8.0

- Python
Published by cthoyt almost 4 years ago

pykeen -

New Models

  • Add BoxE by @ralphabb in https://github.com/pykeen/pykeen/pull/618
  • Add TripleRE by @mberr in https://github.com/pykeen/pykeen/pull/712
  • Add AutoSF by @mberr in https://github.com/pykeen/pykeen/pull/713
  • Add Transformer by @mberr in https://github.com/pykeen/pykeen/pull/714
  • Add Canonical Tensor Decomposition by @mberr in https://github.com/pykeen/pykeen/pull/663
  • Add (novel) Fixed Model by @cthoyt in https://github.com/pykeen/pykeen/pull/691
  • Add NodePiece model by @mberr in https://github.com/pykeen/pykeen/pull/621

Updated Models

  • Update R-GCN configuration by @mberr in https://github.com/pykeen/pykeen/pull/610
  • Update ConvKB to ERModel by @cthoyt in https://github.com/pykeen/pykeen/pull/425
  • Update ComplEx to ERModel by @mberr in https://github.com/pykeen/pykeen/pull/639
  • Rename TranslationalInteraction to NormBasedInteraction by @mberr in https://github.com/pykeen/pykeen/pull/651
  • Fix generic slicing dimension by @mberr in https://github.com/pykeen/pykeen/pull/683
  • Rename UnstructuredModel to UM and StructuredEmbedding to SE by @cthoyt in https://github.com/pykeen/pykeen/pull/721
  • Allow to pass unresolved loss to ERModel's __init__ by @mberr in https://github.com/pykeen/pykeen/pull/717

Representations and Initialization

  • Add low-rank embeddings by @mberr in https://github.com/pykeen/pykeen/pull/680
  • Add NodePiece representation by @mberr in https://github.com/pykeen/pykeen/pull/621
  • Add label-based initialization using a transformer (e.g., BERT) by @mberr in https://github.com/pykeen/pykeen/pull/638 and https://github.com/pykeen/pykeen/pull/652
  • Add label-based representation (e.g., to update language model using KGEM) by @mberr in https://github.com/pykeen/pykeen/pull/652
  • Remove literal representations (use label-based initialization instead) by @mberr in https://github.com/pykeen/pykeen/pull/679

Training

  • Fix displaying previous epoch's loss by @mberr in https://github.com/pykeen/pykeen/pull/627
  • Fix kwargs transmission on MultiTrainingCallback by @Rodrigo-A-Pereira in https://github.com/pykeen/pykeen/pull/645
  • Extend Callbacks by @mberr in https://github.com/pykeen/pykeen/pull/609
  • Add gradient clipping by @mberr in https://github.com/pykeen/pykeen/pull/607
  • Fix negative score shape for sLCWA by @mberr in https://github.com/pykeen/pykeen/pull/624
  • Fix epoch loss for loss reduction != "mean" by @mberr in https://github.com/pykeen/pykeen/pull/623
  • Add sLCWA support for Cross Entropy Loss by @mberr in https://github.com/pykeen/pykeen/pull/704

Inference

  • Add uncertainty estimate functions via MC dropout by @mberr in https://github.com/pykeen/pykeen/pull/688
  • Fix predict top k by @mberr in https://github.com/pykeen/pykeen/pull/690
  • Fix indexing in predict_* methods when using inverse relations by @mberr in https://github.com/pykeen/pykeen/pull/699
  • Move tensors to device for predict_* methods by @mberr in https://github.com/pykeen/pykeen/pull/658

Trackers

  • Fix wandb logging by @mberr in https://github.com/pykeen/pykeen/pull/647
  • Add multi-result tracker by @mberr in https://github.com/pykeen/pykeen/pull/682
  • Add Python result tracker by @mberr in https://github.com/pykeen/pykeen/pull/681
  • Update file trackers by @cthoyt in https://github.com/pykeen/pykeen/pull/629

Evaluation

  • Store rank count by @mberr in https://github.com/pykeen/pykeen/pull/672
  • Extend evaluate() for easier relation filtering by @mberr in https://github.com/pykeen/pykeen/pull/391
  • Rename sklearn evaluator and refactor evaluator code by @cthoyt in https://github.com/pykeen/pykeen/pull/708
  • Add additional classification metrics via rexmex by @cthoyt in https://github.com/pykeen/pykeen/pull/668

Triples and Datasets

  • Add helper dataset with internal batching for Schlichtkrull sampling by @mberr in https://github.com/pykeen/pykeen/pull/616
  • Refactor splitting code and improve documentation by @mberr in https://github.com/pykeen/pykeen/pull/709
  • Switch np.loadtxt to pandas.read_csv by @mberr in https://github.com/pykeen/pykeen/pull/695
  • Add binary I/O to triples factories @cthoyt in https://github.com/pykeen/pykeen/pull/665

Torch Usage

  • Use torch.finfo to determine suitable epsilon values by @mberr in https://github.com/pykeen/pykeen/pull/626
  • Use torch.isin instead of own implementation by @mberr in https://github.com/pykeen/pykeen/pull/635
  • Switch to using torch.inference_mode instead of torch.no_grad by @sbonner0 in https://github.com/pykeen/pykeen/pull/604

Miscellaneous

  • Add YAML experiment format by @mberr in https://github.com/pykeen/pykeen/pull/612
  • Add comparison with reproduction results during replication, if available by @mberr in https://github.com/pykeen/pykeen/pull/642
  • Adapt hello_world notebook to API changes by @dobraczka in https://github.com/pykeen/pykeen/pull/649
  • Add testing configuration for Jupyter notebooks by @mberr in https://github.com/pykeen/pykeen/pull/650
  • Add empty default loss_kwargs by @mali-git in https://github.com/pykeen/pykeen/pull/656
  • Optional extra config for reproduce by @mberr in https://github.com/pykeen/pykeen/pull/692
  • Store pipeline configuration in pipeline result by @mberr in https://github.com/pykeen/pykeen/pull/685
  • Fix upgrade to sequence by @mberr in https://github.com/pykeen/pykeen/pull/697
  • Fix pruner use in hpo_pipeline by @mberr in https://github.com/pykeen/pykeen/pull/724

Housekeeping

  • Automatically lint with black by @cthoyt in https://github.com/pykeen/pykeen/pull/605
  • Documentation and style guide cleanup by @cthoyt in https://github.com/pykeen/pykeen/pull/606

- Python
Published by cthoyt about 4 years ago

pykeen -

This release is only compatible with PyTorch 1.9+. Because of some changes, it's now pretty non-trivial to support both, so moving forwards PyKEEN will continue to support the latest version of PyTorch and try its best to keep backwards compatibility.

New Models

  • DistMA (https://github.com/pykeen/pykeen/pull/507)
  • TorusE (https://github.com/pykeen/pykeen/pull/510)
  • Frequency Baselines (https://github.com/pykeen/pykeen/pull/514)
  • Gated Distmult Literal (https://github.com/pykeen/pykeen/pull/591, thanks @Rodrigo-A-Pereira)

New Datasets

  • WD50K (https://github.com/pykeen/pykeen/pull/511)
  • Wikidata5M (https://github.com/pykeen/pykeen/pull/528)
  • BioKG (https://github.com/pykeen/pykeen/pull/585, thanks @sbonner0)

New Losses

  • Double Margin Loss (https://github.com/pykeen/pykeen/pull/539)
  • Focal Loss (https://github.com/pykeen/pykeen/pull/542)
  • Pointwise Hinge Loss (https://github.com/pykeen/pykeen/pull/540)
  • Soft Pointwise Hinge Loss (https://github.com/pykeen/pykeen/pull/540)
  • Pairwise Logistic Loss (https://github.com/pykeen/pykeen/pull/540)

Added

  • Tutorial in using checkpoints when bringing your own data (https://github.com/pykeen/pykeen/pull/498)
  • Learning rate scheduling (https://github.com/pykeen/pykeen/pull/492)
  • Checkpoints include entity/relation maps (https://github.com/pykeen/pykeen/pull/498)
  • QuatE reproducibility configurations (https://github.com/pykeen/pykeen/pull/486)

Changed

  • Reimplment SE (https://github.com/pykeen/pykeen/pull/521) and NTN (https://github.com/pykeen/pykeen/pull/522) with new-style models
  • Generalize pairwise loss and pointwise loss hierarchies (https://github.com/pykeen/pykeen/pull/540)
  • Update to use PyTorch 1.9 functionality (https://github.com/pykeen/pykeen/pull/489)
  • Generalize generator strategies in LCWA (https://github.com/pykeen/pykeen/pull/602)

Fixed

  • FileNotFoundError on Windows/Anaconda (https://github.com/pykeen/pykeen/pull/503, thanks @Hao-666)
  • Fixed docstring for ComplEx interaction (https://github.com/pykeen/pykeen/pull/504)
  • Make DistMult the default interaction function for R-GCN (https://github.com/pykeen/pykeen/pull/548)
  • Fix gradient error in CompGCN buffering (https://github.com/pykeen/pykeen/pull/573)
  • Fix splitting of numeric triples factories (https://github.com/pykeen/pykeen/pull/594, thanks @Rodrigo-A-Pereira)
  • Fix determinism in spitting of triples factory (https://github.com/pykeen/pykeen/pull/500)
  • Fix documentation and improve HPO suggestion (https://github.com/pykeen/pykeen/pull/524, thanks @kdutia)

- Python
Published by cthoyt over 4 years ago

pykeen -

New Metrics

  • Adjusted Arithmetic Mean Rank Index (https://github.com/pykeen/pykeen/pull/378)
  • Add harmonic, geometric, and median rankings (https://github.com/pykeen/pykeen/pull/381)

New Trackers

  • Console Tracker (https://github.com/pykeen/pykeen/pull/440)
  • Tensorboard Tracker (https://github.com/pykeen/pykeen/pull/416; thanks @sbonner0)

New Models

  • QuatE (https://github.com/pykeen/pykeen/pull/367)
  • CompGCN (https://github.com/pykeen/pykeen/pull/382)
  • CrossE (https://github.com/pykeen/pykeen/pull/467)
  • Reimplementation of LiteralE with arbitrary combination (g) function (https://github.com/pykeen/pykeen/pull/245)

New Negative Samplers

  • Pseudo-typed Negative Sampler (https://github.com/pykeen/pykeen/pull/412)

Datasets

  • Removed invalid datasets (OpenBioLink filtered sets; https://github.com/pykeen/pykeen/pull/https://github.com/pykeen/pykeen/pull/439)
  • Added WK3k-15K (https://github.com/pykeen/pykeen/pull/403)
  • Added WK3l-120K (https://github.com/pykeen/pykeen/pull/403)
  • Added CN3l (https://github.com/pykeen/pykeen/pull/403)

Added

  • Documentation on using PyKEEN in Google Colab and Kaggle (https://github.com/pykeen/pykeen/pull/379, thanks @jerryIsHere)
  • Pass custom training loops to pipeline (https://github.com/pykeen/pykeen/pull/334)
  • Compatibility later for the fft module (https://github.com/pykeen/pykeen/pull/288)
  • Official Python 3.9 support, now that PyTorch has it (https://github.com/pykeen/pykeen/pull/223)
  • Utilities for dataset analysis (https://github.com/pykeen/pykeen/pull/16, https://github.com/pykeen/pykeen/pull/392)
  • Filtering of negative sampling now uses a bloom filter by default (https://github.com/pykeen/pykeen/pull/401)
  • Optional embedding dropout (https://github.com/pykeen/pykeen/pull/422)
  • Added more HPO suggestion methods and docs (https://github.com/pykeen/pykeen/pull/446)
  • Training callbacks (https://github.com/pykeen/pykeen/pull/429)
  • Class resolver for datasets (https://github.com/pykeen/pykeen/pull/473)

Updated

  • R-GCN implementation now uses new-style models and is super idiomatic (https://github.com/pykeen/pykeen/pull/110)
  • Enable passing of interaction function by string in base model class (https://github.com/pykeen/pykeen/pull/384, https://github.com/pykeen/pykeen/pull/387)
  • Bump scipy requirement to 1.5.0+
  • Updated interfaces of models and negative samplers to enforce kwargs (https://github.com/pykeen/pykeen/pull/445)
  • Reorganize filtering, negative sampling, and remove triples factory from most objects (https://github.com/pykeen/pykeen/pull/400, https://github.com/pykeen/pykeen/pull/405, https://github.com/pykeen/pykeen/pull/406, https://github.com/pykeen/pykeen/pull/409, https://github.com/pykeen/pykeen/pull/420)
  • Update automatic memory optimization (https://github.com/pykeen/pykeen/pull/404)
  • Flexibly define positive triples for filtering (https://github.com/pykeen/pykeen/pull/398)
  • Completely reimplemented negative sampling interface in training loops (https://github.com/pykeen/pykeen/pull/427)
  • Completely reimplemented loss function in training loops (https://github.com/pykeen/pykeen/pull/448)
  • Forward-compatibility of embeddings in old-style models and updated docs on how to use embeddings (https://github.com/pykeen/pykeen/pull/474)

Fixed

  • Regularizer passing in the pipeline and HPO (https://github.com/pykeen/pykeen/pull/345)
  • Saving results when using multimodal models (https://github.com/pykeen/pykeen/pull/349)
  • Add missing diagonal constraint on MuRE Model (https://github.com/pykeen/pykeen/pull/353)
  • Fix early stopper handling (https://github.com/pykeen/pykeen/pull/419)
  • Fixed saving results from pipeline (https://github.com/pykeen/pykeen/pull/428, thanks @kantholtz)
  • Fix OOM issues with early stopper and AMO (https://github.com/pykeen/pykeen/pull/433)
  • Fix ER-MLP functional form (https://github.com/pykeen/pykeen/pull/444)

- Python
Published by cthoyt over 4 years ago

pykeen -

New Datasets

  • Countries (https://github.com/pykeen/pykeen/pull/314)
  • DB100K (https://github.com/pykeen/pykeen/issues/316)

New Models

  • MuRE (https://github.com/pykeen/pykeen/pull/311)
  • PairRE (https://github.com/pykeen/pykeen/pull/309)
  • Monotonic affine transformer (https://github.com/pykeen/pykeen/pull/324)

New Algorithms

If you're interested in any of these, please get in touch with us regarding an upcoming publication.

  • Dataset Similarity (https://github.com/pykeen/pykeen/pull/294)
  • Dataset Deterioration (https://github.com/pykeen/pykeen/pull/295)
  • Dataset Remix (https://github.com/pykeen/pykeen/pull/296)

Added

  • New-style models (https://github.com/pykeen/pykeen/pull/260) for direct usage of interaction modules
  • Ability to train pipeline() using an Interaction module rather than a Model (https://github.com/pykeen/pykeen/pull/326, https://github.com/pykeen/pykeen/pull/330).

Changes

  • Lookup of assets is now mediated by the class_resolver package (https://github.com/pykeen/pykeen/pull/321, https://github.com/pykeen/pykeen/pull/327)
  • The docdata package is now used to parse structured information out of the model and dataset documentation in order to make a more informative README with links to citations (https://github.com/pykeen/pykeen/pull/303).

Fixed

  • Fixed ComplEx's implementation (https://github.com/pykeen/pykeen/pull/313)
  • Fixed OGB's reuse entity identifiers (https://github.com/pykeen/pykeen/pull/318, thanks @tgebhart)

- Python
Published by cthoyt almost 5 years ago

pykeen -

We skipped version 1.2.0 because we made an accidental release before this version was ready. We're only human, and are looking into improving our release workflow to live in CI/CD so something like this doesn't happen again. However, as an end user, this won't have an effect on you.

New Datasets

  • CSKG (https://github.com/pykeen/pykeen/pull/249)
  • DBpedia50 (https://github.com/pykeen/pykeen/issues/278)

New Trackers

  • General file-based Tracker (https://github.com/pykeen/pykeen/pull/254)
  • CSV Tracker (https://github.com/pykeen/pykeen/pull/254)
  • JSON Tracker (https://github.com/pykeen/pykeen/pull/254)

Added

  • pykeen version command for more easily reporting your environment in issues (https://github.com/pykeen/pykeen/issues/251)
  • Functional forms of all interaction models (e.g., TransE, RotatE) (https://github.com/pykeen/pykeen/issues/238, pykeen.nn.functional documentation). These can be generally reused, even outside of the typical PyKEEN workflows.
  • Modular forms of all interaction models (https://github.com/pykeen/pykeen/issues/242, pykeen.nn.modules documentation). These wrap the functional forms of interaction models and store hyper-parameters such as the p value for the L_p norm in TransE.
  • The initializer, normalizer, and constrainer for the entity and relation embeddings are now exposed through the __init__() function of each KGEM class and can be configured. A future update will enable HPO on these as well (https://github.com/pykeen/pykeen/issues/282).

Refactoring and Future Preparation

This release contains a few big refactors. Most won't affect end-users, but if you're writing your own PyKEEN models, these are important. Many of them are motivated to make it possible to introduce a new interface that makes it much easier for researchers (who shouldn't have to understand the inner workings of PyKEEN) to make new models.

  • The regularizer has been refactored (https://github.com/pykeen/pykeen/issues/266, https://github.com/pykeen/pykeen/issues/274). It no longer accepts a torch.device when instantiated.
  • The pykeen.nn.Embedding class has been improved in several ways:
    • Embedding Specification class makes it easier to write new classes (https://github.com/pykeen/pykeen/issues/277)
    • Refactor to make shape of embedding explicit (https://github.com/pykeen/pykeen/issues/287)
    • Specification of complex datatype (https://github.com/pykeen/pykeen/issues/292)
  • Refactoring of the loss model class to provide a meaningful class hierarchy (https://github.com/pykeen/pykeen/issues/256, https://github.com/pykeen/pykeen/issues/262)
  • Refactoring of the base model class to provide a consistent interface (https://github.com/pykeen/pykeen/issues/246, https://github.com/pykeen/pykeen/issues/248, https://github.com/pykeen/pykeen/issues/253, https://github.com/pykeen/pykeen/issues/257). This allowed for simplification of the loss computation based on the new hierarchy and also new implementation of regularizer class.
  • More automated testing of typing with MyPy (https://github.com/pykeen/pykeen/issues/255) and automated checking of documentation with doctests (https://github.com/pykeen/pykeen/issues/291)

Triples Loading

We've made some improvements to the pykeen.triples.TriplesFactory to facilitate loading even larger datasets (https://github.com/pykeen/pykeen/issues/216). However, this required an interface change. This will affect any code that loads custom triples. If you're loading triples from a path, you should now use:

```python path = ...

Old (doesn't work anymore)

tf = TriplesFactory(path=path)

New

tf = TriplesFactory.from_path(path) ```

Predictions

While refactoring the base model class, we excised the prediction functionality to a new module pykeen.models.predict (docs: https://pykeen.readthedocs.io/en/latest/reference/predict.html#functions). We also renamed some of the prediction functions inside the base model to make them more consistent, but we now recommend you use the functions from pykeen.models.predict instead.

  • Model.predict_heads() -> Model.get_head_prediction_df()
  • Model.predict_relations() -> Model.get_head_prediction_df()
  • Model.predict_tails() -> Model.get_head_prediction_df()
  • Model.score_all_triples() -> Model.get_all_prediction_df()

Fixed

  • Do not create inverse triples for validation and testing factory (https://github.com/pykeen/pykeen/issues/270)
  • Treat nonzero applied to large tensor error as OOM for batch size search (https://github.com/pykeen/pykeen/issues/279)
  • Fix bug in loading ConceptNet (https://github.com/pykeen/pykeen/issues/290). If your experiments relied on this dataset, you should rerun them.

- Python
Published by cthoyt about 5 years ago

pykeen -

New Datasets

  • CoDEx (https://github.com/pykeen/pykeen/pull/154)
  • DRKG (https://github.com/pykeen/pykeen/pull/156)
  • OGB (https://github.com/pykeen/pykeen/pull/159)
  • ConceptNet (https://github.com/pykeen/pykeen/pull/160)
  • Clinical Knowledge Graph (https://github.com/pykeen/pykeen/pull/209)

New Trackers

  • Neptune.ai (https://github.com/pykeen/pykeen/pull/183)

Added

  • Add MLFlow set tags function (https://github.com/pykeen/pykeen/pull/139; thanks @sunny1401)
  • Add score_t/h function for ComplEx (https://github.com/pykeen/pykeen/pull/150)
  • Add proper testing for literal datasets and literal models (https://github.com/pykeen/pykeen/pull/199)
  • Checkpoint functionality (https://github.com/pykeen/pykeen/pull/123)
  • Random triple generation (https://github.com/pykeen/pykeen/pull/201)
  • Make negative sampler corruption scheme configurable (https://github.com/pykeen/pykeen/pull/209)
  • Add predict with inverse triples pipeline (https://github.com/pykeen/pykeen/pull/208)
  • Add generalize p-norm to regularizer (https://github.com/pykeen/pykeen/pull/225)

Changed

  • New harness for resetting parameters (https://github.com/pykeen/pykeen/pull/131)
  • Modularize embeddings (https://github.com/pykeen/pykeen/pull/132)
  • Update first steps documentation (https://github.com/pykeen/pykeen/pull/152; thanks @TobiasUhmann )
  • Switched testing to GitHub Actions (https://github.com/pykeen/pykeen/pull/165 and https://github.com/pykeen/pykeen/pull/194)
  • No longer support Python 3.6
  • Move automatic memory optimization (AMO) option out of model and into training loop (https://github.com/pykeen/pykeen/pull/176)
  • Improve hyper-parameter defaults and HPO defaults (https://github.com/pykeen/pykeen/pull/181 and https://github.com/pykeen/pykeen/pull/179)
  • Switch internal usage to ID-based triples (https://github.com/pykeen/pykeen/pull/193 and https://github.com/pykeen/pykeen/pull/220)
  • Optimize triples splitting algorithm (https://github.com/pykeen/pykeen/pull/187)
  • Generalize metadata storage in triples factory (https://github.com/pykeen/pykeen/pull/211)
  • Add drop_last option to data loader in training loop (https://github.com/pykeen/pykeen/pull/217)

Fixed

  • Whitelist support in HPO pipeline (https://github.com/pykeen/pykeen/pull/124)
  • Improve evaluator instantiation (https://github.com/pykeen/pykeen/pull/125; thanks @kantholtz)
  • CPU fallback on AMO (https://github.com/pykeen/pykeen/pull/232)
  • Fix HPO save issues (https://github.com/pykeen/pykeen/pull/235)
  • Fix GPU issue in plotting (https://github.com/pykeen/pykeen/pull/207)

- Python
Published by cthoyt about 5 years ago

pykeen -

Added

  • Added testing on Windows with AppVeyor and documentation for installation on Windows (https://github.com/pykeen/pykeen/pull/95)
  • Add ability to specify custom datasets in HPO and ablation studies (https://github.com/pykeen/pykeen/pull/54)
  • Add functions for plotting entities and relations (as well as an accompanying tutorial) (https://github.com/pykeen/pykeen/pull/99)

Changed

  • Replaced BCE loss with BCEWithLogits loss (https://github.com/pykeen/pykeen/pull/109)
  • Store default HPO ranges in loss classes (https://github.com/pykeen/pykeen/pull/111)
  • Use entrypoints for datasets (https://github.com/pykeen/pykeen/pull/115) to allow registering of custom datasets
  • Improved WANDB results tracker (https://github.com/pykeen/pykeen/pull/117, thanks @kantholtz)
  • Reorganized ablation study generation and execution (https://github.com/pykeen/pykeen/pull/54)

Fixed

  • Fixed bug in the initialization of ConvE (https://github.com/pykeen/pykeen/pull/100)
  • Fixed cross-platform issue with random integer generation (https://github.com/pykeen/pykeen/pull/98)
  • Fixed documentation build on ReadTheDocs (https://github.com/pykeen/pykeen/pull/104)

- Python
Published by cthoyt over 5 years ago

pykeen -

Added

  • Enable restricted evaluation on a subset of entities/relations (https://github.com/pykeen/pykeen/pull/62, https://github.com/pykeen/pykeen/pull/83)

Changed

  • Use number of epochs as step instead of number of checks (https://github.com/pykeen/pykeen/pull/72)

Fixed

  • Fix bug in early stopping (https://github.com/pykeen/pykeen/pull/77)

- Python
Published by cthoyt over 5 years ago

pykeen -

Added

  • Side-specific evaluation (https://github.com/pykeen/pykeen/pull/44)
  • Grid Sampler (https://github.com/pykeen/pykeen/pull/52)
  • Weights & Biases Tracker (https://github.com/pykeen/pykeen/pull/68), thanks @migalkin!

Changed

  • Update to Optuna 2.0 (https://github.com/pykeen/pykeen/pull/52)
  • Generalize specification of tracker (https://github.com/pykeen/pykeen/pull/39)

Fixed

  • Fix bug in triples factory splitter (https://github.com/pykeen/pykeen/pull/59)
  • Device mismatch bug (https://github.com/pykeen/pykeen/pull/50)

- Python
Published by cthoyt over 5 years ago

pykeen -

Added

  • Add default values for margin and adversarial temperature in NSSA loss (https://github.com/pykeen/pykeen/pull/29)
  • Added FTP uploader (https://github.com/pykeen/pykeen/pull/35)
  • Add AWS S3 uploader (https://github.com/pykeen/pykeen/pull/39)

Changed

  • Improved MLflow support (https://github.com/pykeen/pykeen/pull/40)
  • Lots of improvements to documentation!

Fixed

  • Fix triples factory splitting bug (https://github.com/pykeen/pykeen/pull/21)
  • Fix problem with tensors' device during prediction (https://github.com/pykeen/pykeen/pull/41)
  • Fix RotatE relation embeddings re-initialization (https://github.com/pykeen/pykeen/pull/26)

- Python
Published by cthoyt over 5 years ago

pykeen -

Added

  • Add fractional hits@k (https://github.com/pykeen/pykeen/pull/17)
  • Add link prediction pipeline (https://github.com/pykeen/pykeen/pull/10)

Changed

  • Update documentation (https://github.com/pykeen/pykeen/pull/10)

- Python
Published by cthoyt over 5 years ago

pykeen -

- Python
Published by cthoyt over 5 years ago

pykeen -

This is the last release before the PyKEEN 1.0 release, be prepared for major changes.

Note! If you've come this far looking for old releases of PyKEEN, we were unfortunately not able to retain them when we moved the code to this new organization. Please see PyPI for a more complete release history (https://pypi.org/project/pykeen/#history) or the Zenodo record associated with SmartDataAnalytics/PyKEEN

- Python
Published by cthoyt over 5 years ago