Comments (3)
I think the tricky part is generating a new dataset with your dsl extensions in the same manner that the paper authors did (which I'm assuming you'd want to do). You would have to add constraint propagation logic for your new functions to constraint.py
. Recall the reason they did that is to keep invalid program/inputs out of their dataset- for instance, SCAN1L(LPLUS, [255,255])=510
would be invalid if the output range is [-256,256]
.
Unfortunately, I don't think there's a good way to do this unless you keep your extensions really simple. For example, if you wanted to add fibonacci
and the output range is [-256,256]
, then the input range would be [0,13]
because the fib(13)=233
and fib(14)=377
. You would have to clip the input range to the largest n
such that fib(n)
is in the output range, maybe by precomputing the first 13 fibonacci numbers and using that to check. One of the benefits of keeping the dsl simple is that it keeps the constraint propagation tractable.
Good luck, let me know if you had any other ideas in mind
from deepcoder.
from deepcoder.
If you allow floating point numbers, you'll have an infinite number of possible input/output values and you'll have to change the embedding layer of the neural network. There are interesting ideas and I encourage you to try them out on your own fork- I want to keep master
as a faithful implementation of the paper so I'm not going to add any extensions here.
from deepcoder.
Related Issues (11)
- Implement sort-and-add
- License ? HOT 5
- _pickle.PicklingError: Can't pickle <function <lambda> at 0x7fb178651c10>: attribute lookup <lambda> on deepcoder.dsl.impl failed HOT 1
- Jupyter notebook of experiments
- Train nn on gcloud gpu
- Code cleanup
- Generate baseline results
- Improve performance HOT 2
- Not able to run HOT 1
- generate the data files HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deepcoder.