# Changelog

## 1.3.1 18 Mar 2020

  • Minor bug fix in ConvE (#189)

## 1.3.0 9 Mar 2020

  • ConvE model Implementation (#178)

  • Changes to evaluate_performance API (#183)

  • Option to add reciprocal relations (#181)

  • Minor fixes to ConvKB (#168, #167)

  • Minor fixes in large graph mode (#174, #172, #169)

  • Option to skip unseen entities checks when train_test_split is used (#163)

  • Stability of NLL losses (#170)

  • ICLR-20 calibration paper experiments added in branch paper/ICLR-20

## 1.2.0 22 Oct 2019

  • Probability calibration using Platt scaling, both with provided negatives or synthetic negative statements (#131)

  • Added ConvKB model

  • Added WN11, FB13 loaders (datasets with ground truth positive and negative triples) (#138)

  • Continuous integration with CircleCI, integrated on GitHub (#127)

  • Refactoring of models into separate files (#104)

  • Fixed bug where the number of epochs did not exactly match the provided number by the user (#135)

  • Fixed some bugs on RandomBaseline model (#133, #134)

  • Fixed some bugs on discover_facts with strategies “exhaustive” and “graph_degree”

  • Fixed bug on subsequent calls of model.predict on the GPU (#137)

## 1.1.0 16 Aug 2019

  • Support for large number of entities (#61, #113)

  • Faster evaluation protocol (#74)

  • New Knowledge discovery APIs: discover facts, clustering, near-duplicates detection, topn query (#118)

  • API change: model.predict() does not return ranks anymore

  • API change: friendlier ranking API output (#101)

  • Implemented nuclear-3 norm (#23)

  • Jupyter notebook tutorials: AmpliGraph basics (#67) and Link-based clustering

  • Random search for hyper-parameter tuning (#106)

  • Additional initializers (#112)

  • Experiment campaign with multiclass-loss

  • System-wide bugfixes and minor improvements

## 1.0.3 7 Jun 2019

  • Fixed regression in RandomBaseline (#94)

  • Added TensorBoard Embedding Projector support (#86)

  • Minor bugfixing (#87, #47)

## 1.0.2 19 Apr 2019

  • Added multiclass loss (#24 and #22)

  • Updated the negative generation to speed up evaluation for default protocol.(#74)

  • Support for visualization of embeddings using Tensorboard (#16)

  • Save models with custom names. (#71)

  • Quick fix for the overflow issue for datasets with a million entities. (#61)

  • Fixed issues in train_test_split_no_unseen API and updated api (#68)

  • Added unit test cases for better coverage of the code(#75)

  • Corrupt_sides : can now generate corruptions for training on both sides, or only on subject or object

  • Better error messages

  • Reduced logging verbosity

  • Added YAGO3-10 experiments

  • Added MD5 checksum for datasets (#47)

  • Addressed issue of ambiguous dataset loaders (#59)

  • Renamed ‘type’ parameter in models.get_embeddings to fix masking built-in function

  • Updated String comparison to use equality instead of identity.

  • Moved save_model and restore_model to ampligraph.utils (but existing API will remain for several releases).

  • Other minor issues (#63, #64, #65, #66)

## 1.0.1 22 Mar 2019

  • evaluation protocol now ranks object and subjects corruptions separately

  • Corruption generation can now use entities from current batch only

  • FB15k-237, WN18RR loaders filter out unseen triples by default

  • Removed some unused arguments

  • Improved documentation

  • Minor bugfixing

## 1.0.0 16 Mar 2019

  • TransE

  • DistMult

  • ComplEx

  • FB15k, WN18, FB15k-237, WN18RR, YAGO3-10 loaders

  • generic loader for csv files

  • RDF, ntriples loaders

  • Learning to rank evaluation protocol

  • Tensorflow-based negatives generation

  • save/restore capabilities for models

  • pairwise loss

  • nll loss

  • self-adversarial loss

  • absolute margin loss

  • Model selection routine

  • LCWA corruption strategy for training and eval

  • rank, Hits@N, MRR scores functions