neuralkanren

所属分类:硬件设计
开发工具:Python
文件大小:0KB
下载次数:0
上传日期:2018-12-30 03:36:29
上 传 者sh-1993
说明:  用于程序综合的神经引导约束逻辑编程,
(Neural Guided Constraint Logic Programming for Program Synthesis,)

文件列表:
LICENSE (1087, 2018-12-29)
data/ (0, 2018-12-29)
data/bring_to_front_test.txt (3365, 2018-12-29)
data/drop_last_test.txt (1368, 2018-12-29)
data/repeat_test.txt (4720, 2018-12-29)
data/test_problems.txt (19453, 2018-12-29)
evalo.scm (2675, 2018-12-29)
gnn.py (8757, 2018-12-29)
gnn_grammar.py (20733, 2018-12-29)
helper.py (5941, 2018-12-29)
interact.py (5743, 2018-12-29)
interact.scm (1797, 2018-12-29)
lisp.py (3431, 2018-12-29)
mk.scm (24970, 2018-12-29)
query-outputs.scm (563, 2018-12-29)
query.scm (1304, 2018-12-29)
rnn.py (8309, 2018-12-29)
rnn_grammar.py (4633, 2018-12-29)

# Neural Guided Constraint Logic Programming for Program Synthesis This repository contains code that goes with the paper: Neural Guided Constraint Logic Programming for Program Synthesis https://papers.nips.cc/paper/7445-neural-guided-constraint-logic-programming-for-program-synthesis This repository contains an implementation of miniKanren where the constraint trees are represented transparently. We add scaffolding code to show how to drive miniKanren using an external agent in Python. We provide Recurrent Neural Network (RNN) and Graph Neural Network (GNN) agents as examples. The implementations of the RNN and GNN are consistent with the models described in the paper [0]. ## Dependencies * Chez Scheme: https://github.com/cisco/ChezScheme * Python3+ * PyTorch 0.3+: https://pytorch.org/ ## Transparent miniKanren The following files contain an implementation of miniKanren where the constraint trees are represented transparently, and a python interface for interacting with a miniKanren process. | File | Description | | ---------------------------------------| ----------------------------------------------| | [mk.scm](https://github.com/xuexue/neuralkanren/blob/master/mk.scm) | transparent implemenation of minikanren | | [evalo.scm](https://github.com/xuexue/neuralkanren/blob/master/evalo.scm) | definition of evalo, a relational interpreter | | [query.scm](https://github.com/xuexue/neuralkanren/blob/master/query.scm) | build queries annotated with ground truth | | [query-outputs.scm](https://github.com/xuexue/neuralkanren/blob/master/query-outputs.scm) | compute ground truth outputs for queries | | [interact.scm](https://github.com/xuexue/neuralkanren/blob/master/interact.scm) | interaction process for python to talk to | | [interact.py](https://github.com/xuexue/neuralkanren/blob/master/interact.py) | python interface for scheme interaction | | [lisp.py](https://github.com/xuexue/neuralkanren/blob/master/lisp.py) | helper for parsing lisp in python | ## Neural Network Model The following files contain neural network agents that can drive miniKanren's search. | File | Description | | ---------------------------------| ------------------------------------| | [helper.py](https://github.com/xuexue/neuralkanren/blob/master/helper.py) | helper for working with constraints | | [rnn_grammar.py](https://github.com/xuexue/neuralkanren/blob/master/rnn_grammar.py) | parsing constraints for RNN model | | [rnn.py](https://github.com/xuexue/neuralkanren/blob/master/rnn.py) | forward pass for RNN model | | [gnn_grammar.py](https://github.com/xuexue/neuralkanren/blob/master/gnn_grammar.py) | parsing constraints for GNN model | | [gnn.py](https://github.com/xuexue/neuralkanren/blob/master/gnn.py) | forward pass for GNN model | ## Data Files The following files contain the test problems used in the paper. | File | Description | | -------------------------------------------------------------| ------------------------------------| | [data/test_problems.txt](https://github.com/xuexue/neuralkanren/blob/master/data/test_problems.txt) | held out tree manipulation problems | | [data/repeat_test.txt](https://github.com/xuexue/neuralkanren/blob/master/data/repeat_test.txt) | generalization: repeat(N) | | [data/drop_last_test.txt](https://github.com/xuexue/neuralkanren/blob/master/data/drop_last_test.txt) | generalization: dropLast(N) | | [data/bring_to_front_test.txt](https://github.com/xuexue/neuralkanren/blob/master/data/bring_to_front_test.txt) | generalization: bringToFront(N) | ## References [0] [NeurIPS 2018](https://github.com/xuexue/neuralkanren/blob/master/https://papers.nips.cc/paper/7445-neural-guided-constraint-logic-programming-for-program-synthesis) Neural Guided Constraint Logic Programming for Program Synthesis [1] [ICLR 2018 Workshop](https://github.com/xuexue/neuralkanren/blob/master/https://openreview.net/forum?id=HJIHtIJvz): with slightly less detail (4 pages) [2] [Lisa Zhang's Master's Thesis](https://github.com/xuexue/neuralkanren/blob/master/http://lisazhang.ca/msc_thesis.pdf): with slightly more detail (23 pages) [3] More information about [miniKanren](https://github.com/xuexue/neuralkanren/blob/master/http://minikanren.org)

近期下载者

相关文件


收藏者