Releases: dice-group/dice-embeddings
dicee 0.1.4
We're happy to announce the 0.1.4 release. You can install it with pip install dicee
What's Changed
- Version by @Demirrr in #231
- Functionnal embedings. by @Louis-Mozart in #225
- refactoring by @Louis-Mozart in #233
- Fixing torch and pykeen versions by @Demirrr in #234
- Develop by @Demirrr in #235
- Documentation workflow added by @alkidbaci in #236
- DeCal test added by @Demirrr in #237
- Develop by @Demirrr in #238
- Continual Training and Downloading Pretrained models by @Demirrr in #239
- DualE implemented within the dice framework. by @Louis-Mozart in #241
- Docstring added to DualE and DeCaL for documentation by @Louis-Mozart in #242
- Prep for the new release by @Demirrr in #248
New Contributors
- @Louis-Mozart made their first contribution in #225
- @alkidbaci made their first contribution in #236
Full Changelog: v1.0.1.3.2...v1.0.1.4
dicee 0.1.3.2
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
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
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
We're happy to announce the 0.0.6 release.
You can install it with pip install dicee==0.0.6
Major updates
-
Model Parallelism via PyTorch Lightning
-
Model Paralelisim via prediction averarning is tested.
-
AllvsAll training is implemented and regression tests are added
Todos for the next release
- Multi-hop Query Answering
- 8bit Training:
dicee 0.0.5
We're happy to announce the 0.0.5 release.
You can install it with pip install dicee==0.0.5
Major updates
-
Pykeen models can be trained without out-of-memory caused by using reguralizers wo collect_regularization_term (see #1297) .
-
Via
--sparql_endpoint
argument, KGE models can be trained on triples stored in a triple store. -
Via
rdflib
, many different formatted KGs can be read into memory. -
We added more tests and documented our code.
Todos for the next release
- Model Parallelism:
- 8bit Training:
dicee 1.0.4
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
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
We're happy to announce the 1.0.2 release.
You can install it with pip install dicee
dice-embeddings 1.0.5
Features
- 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.
- Pandas, Modin and Polars can be used as a backend. Reading, preprocessing, saving and loading can be done in a parallel fashion.
- AccumulateEpochLossCallback
- Gradient Accumulation is implemented.