PyNeuraLogic

PyNeuraLogic lets you use Python to create Differentiable Logic Programs

MIT License

Downloads
1.5K
Stars
278
Committers
3

Bot releases are hidden (Show)

PyNeuraLogic - v0.7.19 Latest Release

Published by LukasZahradnik 3 months ago

PyNeuraLogic - v0.7.18

Published by LukasZahradnik 4 months ago

PyNeuraLogic - v0.7.1.17

Published by LukasZahradnik 4 months ago

PyNeuraLogic - v0.7.16

Published by LukasZahradnik 5 months ago

  • Add option to disable raising exception on already started JVM
  • Fix progress parameter for neuralize method
  • Add support for grounding samples without queries
PyNeuraLogic -

Published by LukasZahradnik 5 months ago

  • Fixed settings propagation
PyNeuraLogic - v0.7.14

Published by LukasZahradnik 5 months ago

  • Variables and Constants now support typing
  • Fixed #57
  • Exposed all settings via brackets
PyNeuraLogic - v0.7.13

Published by LukasZahradnik 6 months ago

  • Add parameter for setting the JAR path in initialize
  • Fix setting window title when drawing in matplotlib
  • Add constant and variable getters
  • Add normalization and self_loops parameters to gcnconv
  • Update NeuraLogic backend

Full Changelog: https://github.com/LukasZahradnik/PyNeuraLogic/compare/v0.7.12...v0.7.13

PyNeuraLogic - v0.7.12

Published by LukasZahradnik 6 months ago

  • Add parameter for setting the JAR path in initialize
  • Fix setting window title when drawing in matplotlib
  • Add constant and variable getters
  • Add normalization and self_loops parameters to gcnconv
  • Update NeuraLogic backend

Full Changelog: https://github.com/LukasZahradnik/PyNeuraLogic/compare/v0.7.11...v0.7.12

PyNeuraLogic - Getting substitutions and values from atoms in samples

Published by LukasZahradnik 7 months ago

  • Added NeuralSample.get_atom to rettrieve substitutions for variables and value of the atom
PyNeuraLogic - Quality of life changes vol.3

Published by LukasZahradnik 8 months ago

Additions:

  • neuralogic.initialize now exposes more global settings
  • Datasets now contains Samples, which are tuples of examples and queries
  • New GINEConv module
  • New GENConv module
  • GCNConv now supports normalization
PyNeuraLogic - Quality of life changes vol.2

Published by LukasZahradnik 11 months ago

Changes

  • Template is now subscriptable (allows set, delete, get by index)
  • Default rule aggregation exposed via Settings
  • duplicate_groundings are now present in Metadata.__str__
  • Global setter for the graphviz path
  • Split dataset building into two steps - groundings can now be rendered
  • Alternative way to define rule bodies using & (e.g, R.a <= R.b & R.c)
  • Calling .draw() now display the image (if show=True and no path has been provided)
PyNeuraLogic - Quality of life changes

Published by LukasZahradnik 12 months ago

Changes:

  • The Rule can be imported from neuralogic.core
  • The NeuraLogic backend has been updated
  • Added __repr__ methods for relations, metadata, rules, and templates
  • Simplified accessing samples' target values (sample.target)
  • Added a model parameter to the template.draw method to draw template with given weights
PyNeuraLogic - Tensor Dataset one hot edge attributes decoding

Published by LukasZahradnik over 1 year ago

Additions:

  • It is now possible to decode one-hot encoded features of edge attributes into a class-specific predicate (For Tensor Dataset)
PyNeuraLogic - Fix CSV Dataset Terms Getter

Published by LukasZahradnik over 1 year ago

Bug Fixes

  • Fix CSV Dataset Terms Getter - CSV Dataset kept terms capitalized, resulting in changing their meaning from constants to variables.
PyNeuraLogic - Negation fixes, JVM support

Published by LukasZahradnik over 1 year ago

Bug fixes

  • Negation is now supported also for body literals referencing other rule's head
  • Fixed serialization issues on some JVMs
  • Fixed the direction of arrows in visualizations
PyNeuraLogic - Cycle breaking fixes

Published by LukasZahradnik over 1 year ago

Bug Fixes

  • Fixed cycle breaking #44
  • Wrong string representation of a negated relation
PyNeuraLogic - Relation Negation

Published by LukasZahradnik over 1 year ago

Changes

  • Reintroduction of relation negation:
    • ~R.rel is a negation
    • -R.rel applies reverse transformation function
PyNeuraLogic - Symbolic Transformers - transposition bug fix

Published by LukasZahradnik over 1 year ago

Bug fixes

  • Fixed incorrect compression (removal) of transposition neurons.
PyNeuraLogic - Symbolic Transformers - bug fixes

Published by LukasZahradnik over 1 year ago

Bug fixes

  • Fixed missing skip connection in Transformer encoder/decoder
PyNeuraLogic - Symbolic Transformers

Published by LukasZahradnik almost 2 years ago

Additions:

  • Transformer modules - Transformer, TransformerEncoder, and TransformerDecoder.
  • Attention modules - Attention, MultiheadAttention.
  • PositionalEncoding module.
  • Softmax as a (splittable) aggregation function.
  • Concatenation as an aggregation function.
  • Reshape transformation function.
  • Slice transformation function.
  • Learning rate decay as an optimizer argument.
  • Batching support.
  • Progress bar for tracking dataset-building progress.
  • Special arithmetic predicates for addition (add), subtraction (sub), and modulo (mod).

Changes:

  • Concatenation can now be parametrized with a dimension.
  • Refactored MLP module - the current version is more compact.
  • Changed the behavior of Variable/V factory - only the first letter is capitalized.
  • Performance improvements.
Package Rankings
Top 10.75% on Pypi.org
Badges
Extracted from project README
PyPI version License Tests Status Code Quality Status Documentation Status Tweet Open In Colab Open In Colab Open In Colab Open In Colab Open In Colab Open In Colab Open In Colab
Related Projects