Skip to content

Commit

Permalink
💯 🧼 Finalize PyKEEN 1.5.0 (pykeen#449)
Browse files Browse the repository at this point in the history
* Fix entrypoints

* Update translational_toy_example.rst

* Update moves.py

* Bump version: 1.4.1-dev → 1.5.0-dev

* Update README

* Update README.md

* Add funding section

* Add details box

* Update header

* Revert

* Add pygments to doctests environment

This is used by doctests for nice colored output

* Update funding

* Update author information in setup

* Update README.md

* Update setup.cfg

* Update README.md

* Improve grammar

* Update conf.py

* Update setup.cfg

* Create .mailmap

* Update CHANGELOG.rst

* Final update

Trigger CI

* Update MANIFEST.in

Trigger CI

Co-authored-by: Laurent Vermue <lvermue@users.noreply.github.com>
Co-authored-by: Max Berrendorf <berrendorf@dbs.ifi.lmu.de>
  • Loading branch information
3 people authored Jun 13, 2021
1 parent 0d396bb commit df53e4c
Show file tree
Hide file tree
Showing 12 changed files with 84 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.4.1-dev
current_version = 1.5.0-dev
commit = True
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(?:-(?P<release>[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+(?P<build>[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?
Expand Down
8 changes: 8 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Laurent Vermue <lauve@dtu.dk> Laurent Vermue <l.vermue@me.com>
Laurent Vermue <lauve@dtu.dk> Laurent Vermue <lvermue@users.noreply.github.com>
Daniel Domingo-Fernández <danieldomingofernandez@hotmail.com> ddomingof <danieldomingofernandez@hotmail.com>
Daniel Domingo-Fernández <danieldomingofernandez@hotmail.com> daniel.domingo.fernandez <danieldomingofernandez@hotmail.com>
Mehdi Ali <ali-mehdi@live.de> mali <ali-mehdi@live.de>
Mehdi Ali <ali-mehdi@live.de> Mehdi Ali <33023925+mali-git@users.noreply.github.com>
Anna Breit <anna@breit-mail.at> anna <anna@breit-mail.at>
Sahand Sharifzadeh <sahand.sharifzadeh@gmail.com>
43 changes: 37 additions & 6 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog <http://keepachangelog.com/>`_
and this project adheres to `Semantic Versioning <http://semver.org/>`_

`Unreleased <https://github.com/pykeen/pykeen/compare/v1.4.0...HEAD>`_
`Unreleased <https://github.com/pykeen/pykeen/compare/v1.5.0...HEAD>`_
-----------------------------------------------------------------------

`1.5.0 <https://github.com/pykeen/pykeen/compare/v1.4.0...v1.5.0>`_ - 2021-06-13
--------------------------------------------------------------------------------
New Metrics
~~~~~~~~~~~
- Adjusted Arithmetic Mean Rank Index (https://github.com/pykeen/pykeen/pull/378)
Expand All @@ -22,32 +25,60 @@ 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/#439)
- 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 <https://github.com/jerryIsHere>`_)
- Documentation on
- 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)

Changed
~~~~~~~
- 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)

`1.4.0 <https://github.com/pykeen/pykeen/compare/v1.3.0...v1.4.0>`_ - 2021-03-04
--------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ include config/config.ini

global-exclude *.py[cod] __pycache__ *.so *.dylib .DS_Store *.gpickle

exclude .bumpversion.cfg .coveragerc .flake8 .travis.yml .readthedocs.yml tox.ini .pre-commit-config.yaml
exclude .bumpversion.cfg .coveragerc .flake8 .travis.yml .readthedocs.yml tox.ini .pre-commit-config.yaml .mailmap
include LICENSE *.md *.rst
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -340,10 +340,12 @@ This project has been supported by several organizations (in alphabetical order)

The development of PyKEEN has been funded by the following grants:

| Funding Body | Program | Grant |
|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|---------------|
| DARPA | [Automating Scientific Knowledge Extraction (ASKE)](https://www.darpa.mil/program/automating-scientific-knowledge-extraction) | HR00111990009 |
| German Federal Ministry of Education and Research (BMBF) | [Maschinelles Lernen mit Wissensgraphen (MLWin)](https://mlwin.de) | 01IS18050D |
| Funding Body | Program | Grant |
|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------|
| DARPA | [Automating Scientific Knowledge Extraction (ASKE)](https://www.darpa.mil/program/automating-scientific-knowledge-extraction) | HR00111990009 |
| German Federal Ministry of Education and Research (BMBF) | [Maschinelles Lernen mit Wissensgraphen (MLWin)](https://mlwin.de) | 01IS18050D |
| German Federal Ministry of Education and Research (BMBF) | [Munich Center for Machine Learning (MCML)](https://mcml.ai) | 01IS18036A |
| Innovation Fund Denmark (Innovationsfonden) | [Danish Center for Big Data Analytics driven Innovation (DABAI)](https://dabai.dk) | Grand Solutions |

### Logo

Expand Down
5 changes: 4 additions & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
author = 'PyKEEN Project Team'

# The full version, including alpha/beta/rc tags.
release = '1.4.1-dev'
release = '1.5.0-dev'

# The short X.Y version.
parsed_version = re.match(
Expand Down Expand Up @@ -263,3 +263,6 @@
}

autoclass_content = 'both'
# autodoc_member_order = 'bysource'
# autodoc_typehints = 'both' # TODO turn on after 4.1 release
# autodoc_preserve_defaults = True
8 changes: 4 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ project_urls =
Bug Tracker = https://github.com/pykeen/pykeen/issues

# Author information
author = Mehdi Ali
author_email = mehdi.ali@cs.uni-bonn.de
maintainer = Mehdi Ali
maintainer_email = mehdi.ali@cs.uni-bonn.de
author = "Mehdi Ali, Max Berrendorf, Charles Tapley Hoyt, Laurent Vermue"
author_email = "<mehdi.ali@cs.uni-bonn.de>, <max.berrendorf@gmail.com>, <cthoyt@gmail.com>, <lauve@dtu.dk>"
maintainer = "Mehdi Ali, Max Berrendorf, Charles Tapley Hoyt, Laurent Vermue"
maintainer_email = "<mehdi.ali@cs.uni-bonn.de>, <max.berrendorf@gmail.com>, <cthoyt@gmail.com>, <lauve@dtu.dk>"

# License information
license = MIT
Expand Down
2 changes: 1 addition & 1 deletion src/pykeen/losses.py
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ def __init__(self, margin: float = 9.0, adversarial_temperature: float = 1.0, re
The name of the reduction operation to aggregate the individual loss values from a batch to a scalar loss
value. From {'mean', 'sum'}.
.. note:: The default hyperparameters are based the experiments for FB15k-237 in [sun2019]_.
.. note:: The default hyperparameters are based on the experiments for FB15k-237 in [sun2019]_.
"""
super().__init__(reduction=reduction)
self.inverse_softmax_temperature = adversarial_temperature
Expand Down
12 changes: 11 additions & 1 deletion src/pykeen/models/cli/builders.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
from typing import Any, Mapping, Optional, Type, Union

import click
from class_resolver import HintOrType
from torch import nn

from . import options
from .options import CLI_OPTIONS
from ..base import Model
from ...nn.message_passing import Decomposition
from ...regularizers import Regularizer
from ...triples import TriplesFactory
from ...typing import Constrainer, Hint, Initializer, Normalizer

Expand Down Expand Up @@ -44,6 +46,14 @@
Optional[Mapping[str, Any]],
Union[None, str, nn.Module],
Union[None, str, Decomposition],

}
_SKIP_HINTS = {
Hint[Initializer],
Hint[Constrainer],
Hint[Normalizer],
Hint[Regularizer],
HintOrType[nn.Module],
}


Expand All @@ -68,7 +78,7 @@ def _decorate_model_kwargs(command: click.Command) -> click.Command:

else:
parameter = signature.parameters[name]
if annotation in {Hint[Initializer], Hint[Constrainer], Hint[Normalizer]}: # type: ignore
if annotation in _SKIP_HINTS:
logger.debug('Unhandled hint: %s', annotation)
continue
if parameter.default is None:
Expand Down
4 changes: 4 additions & 0 deletions src/pykeen/models/cli/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ def _callback(_, __, value):
'--clamp-score',
type=float,
),
'combination_dropout': click.option(
'--combination-dropout',
type=float,
),
}

device_option = click.option(
Expand Down
10 changes: 6 additions & 4 deletions src/pykeen/templates/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,10 +224,12 @@ This project has been supported by several organizations (in alphabetical order)

The development of PyKEEN has been funded by the following grants:

| Funding Body | Program | Grant |
|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|---------------|
| DARPA | [Automating Scientific Knowledge Extraction (ASKE)](https://www.darpa.mil/program/automating-scientific-knowledge-extraction) | HR00111990009 |
| German Federal Ministry of Education and Research (BMBF) | [Maschinelles Lernen mit Wissensgraphen (MLWin)](https://mlwin.de) | 01IS18050D |
| Funding Body | Program | Grant |
|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------|
| DARPA | [Automating Scientific Knowledge Extraction (ASKE)](https://www.darpa.mil/program/automating-scientific-knowledge-extraction) | HR00111990009 |
| German Federal Ministry of Education and Research (BMBF) | [Maschinelles Lernen mit Wissensgraphen (MLWin)](https://mlwin.de) | 01IS18050D |
| German Federal Ministry of Education and Research (BMBF) | [Munich Center for Machine Learning (MCML)](https://mcml.ai) | 01IS18036A |
| Innovation Fund Denmark (Innovationsfonden) | [Danish Center for Big Data Analytics driven Innovation (DABAI)](https://dabai.dk) | Grand Solutions |

### Logo

Expand Down
2 changes: 1 addition & 1 deletion src/pykeen/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
'env',
]

VERSION = '1.4.1-dev'
VERSION = '1.5.0-dev'


@lru_cache(maxsize=2)
Expand Down

0 comments on commit df53e4c

Please sign in to comment.