Documentation | Examples | Papers
PyNeuraLogic is a framework built on top of NeuraLogic which combines relational and deep learning.
To use PyNeuraLogic, you need to have installed the following prerequisites.
Python >= 3.7
Java 1.8
To install PyNeuraLogic's latest release from the PyPI repository, use the following command.
$ pip install neuralogic
None of the following backends are included in PyNeuraLogic's installation. You have to install the ones that you are planning to utilize manually.
import dynet as dy
from neuralogic import data
from neuralogic.dynet import NeuraLogicLayer
dataset = data.XOR # Use one of the default datasets in the project in the/datasets/ folder
layer = NeuraLogicLayer(dataset.weights) # Create an instance of NeuraLogicLayer with weights from the dataset
trainer = dy.AdamTrainer(layer.model, alpha=0.001)
for sample in dataset.samples: # Learn on each sample
dy.renew_cg(immediate_compute=False, check_validity=False)
label = dy.scalarInput(sample.target)
graph_output = layer.build_sample(sample)
loss = dy.squared_distance(graph_output, label)
loss.forward()
loss.backward()
trainer.update()