Skip to content

Releases: dice-group/dice-embeddings

dicee 0.1.4

26 Jun 09:30
4bc42ae
Compare
Choose a tag to compare

We're happy to announce the 0.1.4 release. You can install it with pip install dicee

What's Changed

New Contributors

Full Changelog: v1.0.1.3.2...v1.0.1.4

dicee 0.1.3.2

19 Feb 07:44
Compare
Choose a tag to compare

We're happy to announce the 0.1.3.2 release. You can install it with pip install dicee

Some of Important New Features

  • Inductive Neural Link Prediction

  • AllvsAll Scoring Technique

  • Stochastic Weight Averaging and Adaptive Stochastic Weight Averaging

  • Qdrant Vector Database

Inductive Neural Link Prediction

We design a technique to transform most (if not all) transductive knowledge graph embeddings to inductive knowledge graph embedding models.
With our technique called (research paper is under review), a knowledge graph embedding model can operate on triples involving unseen entities and or relations.
By using byte_pair_encoding, a knowledge graph embedding model can compute an unnormalized log likelihood of a triple involving an unseen entity or unseen relation or a literal.

from dicee.executer import Execute
from dicee.config import Namespace
from dicee import KGE
args = Namespace()
args.dataset_dir = 'KGs/UMLS'
args.model = 'Keci'
args.byte_pair_encoding = True
result = Execute(args).start()
pre_trained_kge = KGE(path=result['path_experiment_folder'])
assert (pre_trained_kge.predict(h="alga", r="isa", t="entity", logits=True) >=pre_trained_kge.predict(h="Demir", r="loves", t="Embeddings", logits=True))

AllvsAll Scoring Technique

AllvsAll is a new scoring technique to train knowledge graph embedding models that is although computationaly more extensive (e.g. the size of the trainin data becomes the number of entities times the number of relations).
A knowledge graph embedding model can be trained with NegSample | 1vsAll | KvsAll | AllvsAll techniques

dicee --model Keci --scoring_technique AllvsAll 
dicee --model Pykeen_MuRE --scoring_technique AllvsAll

Stochastic Weight Averaging and Adaptive Stochastic Weight Averaging

Read Averaging Weights Leads to Wider Optima and Better Generalization
to know more about Stochastic Weight Averaging (SWA).

dicee --model ComplEx --swa

We design a technique called Adaptive SWA that combines SWA with early stopping technique.

dicee --model Keci --adaptive_swa

Qdrant Vector Database

Train a KGE model and store it into CountryEmbeddings.

dicee --dataset_dir KGs/Countries-S1 --path_to_store_single_run CountryEmbeddings --model Keci --p 0 --q 1 --embedding_dim 32 --adaptive_swa

Create a vector database

diceeindex --path_model "CountryEmbeddings" --collection_name "dummy" --location "localhost"

Launch Webservice

diceeserve --path_model "CountryEmbeddings" --collection_name "dummy" --collection_location "localhost"

Query Vector Database

curl -X 'GET' 'http://0.0.0.0:8000/api/get?q=germany' -H 'accept: application/json'

dicee 0.0.9

10 Nov 11:52
Compare
Choose a tag to compare

We're happy to announce the 0.0.9 release.

You can install it with pip install dicee==0.0.9

dicee 0.0.7

17 Oct 10:35
e33c77a
Compare
Choose a tag to compare

We're happy to announce the 0.0.7 release.

You can install it with pip install dicee==0.0.7

dicee 0.0.6

08 Sep 12:07
66ff1cc
Compare
Choose a tag to compare

We're happy to announce the 0.0.6 release.

You can install it with pip install dicee==0.0.6

Major updates

  1. Model Parallelism via PyTorch Lightning

  2. Model Paralelisim via prediction averarning is tested.

  3. AllvsAll training is implemented and regression tests are added

Todos for the next release

  1. Multi-hop Query Answering
  2. 8bit Training:

dicee 0.0.5

11 Aug 06:57
d7f9905
Compare
Choose a tag to compare

We're happy to announce the 0.0.5 release.

You can install it with pip install dicee==0.0.5

Major updates

  1. Pykeen models can be trained without out-of-memory caused by using reguralizers wo collect_regularization_term (see #1297) .

  2. Via --sparql_endpoint argument, KGE models can be trained on triples stored in a triple store.

  3. Via rdflib, many different formatted KGs can be read into memory.

  4. We added more tests and documented our code.

Todos for the next release

  1. Model Parallelism:
  2. 8bit Training:

dicee 1.0.4

14 Jul 10:25
Compare
Choose a tag to compare

We're happy to announce the 1.0.4 release.

You can install it with pip install dicee

Major updates

The knowledge graph embedding models implemented in Pykeen can be used within our framework.
Hence, the distributed training column of the Table 1 in PyKEEN paper can be checked via our framework 🎉.

dicee 1.0.3

26 Apr 11:48
14dcd84
Compare
Choose a tag to compare

We're happy to announce the 1.0.3 release.

You can install it with pip install dicee

Major updates

Distributed Data Parallel training in a multi-node setting is available.

dicee 1.0.2

21 Mar 19:13
Compare
Choose a tag to compare

We're happy to announce the 1.0.2 release.

You can install it with pip install dicee

dice-embeddings 1.0.5

20 Jan 12:38
Compare
Choose a tag to compare

Features

  1. An AbstractCallback class is implemented. Few callback classes are created to print info related to training, to save the model paramaters and apply polyak parameter ensemble model PrintCallback, KGESaveCallback, PPE.
  2. Pandas, Modin and Polars can be used as a backend. Reading, preprocessing, saving and loading can be done in a parallel fashion.
  3. AccumulateEpochLossCallback
  4. Gradient Accumulation is implemented.

Applications

  1. A function for predicting conjunctive queries over knowledge graph is implemented.
  2. A function to detect missing triples is implemented.