🤖 A Python library for learning and evaluating knowledge graph embeddings
If you're interested in any of these, please get in touch with us regarding an upcoming publication.
pipeline()
using an Interaction module rather than a Model (https://github.com/pykeen/pykeen/pull/326, https://github.com/pykeen/pykeen/pull/330).class_resolver
package (https://github.com/pykeen/pykeen/pull/321, https://github.com/pykeen/pykeen/pull/327)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).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.
pykeen version
command for more easily reporting your environment in issues (https://github.com/pykeen/pykeen/issues/251)p
value for the L_p norm in TransE.__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).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.
torch.device
when instantiated.pykeen.nn.Embedding
class has been improved in several ways:
doctests
(https://github.com/pykeen/pykeen/issues/291)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:
path = ...
# Old (doesn't work anymore)
tf = TriplesFactory(path=path)
# New
tf = TriplesFactory.from_path(path)
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()
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