Skip to main content

PyNeuraLogic is a framework which combines relational and deep learning.

Project description

PyNeuraLogic

PyPI version License

Documentation | Examples | Papers

PyNeuraLogic is a framework built on top of NeuraLogic which combines relational and deep learning.


General

Supported backends (WIP):

Getting started

Prerequisites

To use PyNeuraLogic, you need to have installed the following prerequisites.

Python >= 3.7
Java 1.8

Installation

To install PyNeuraLogic's latest release from the PyPI repository, use the following command.

$ pip install neuralogic

How to use

None of the following backends are included in PyNeuraLogic's installation. You have to install the ones that you are planning to utilize manually.

With PyTorch Geometric


With DyNet

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()

With Deep Graph Library


Development



          

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neuralogic-0.0.5.tar.gz (31.2 kB view hashes)

Uploaded Source

Built Distribution

neuralogic-0.0.5-py3-none-any.whl (40.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page