probmods / dippl Goto Github PK
View Code? Open in Web Editor NEWThe Design and Implementation of Probabilistic Programming Languages
Home Page: http://dippl.org/
The Design and Implementation of Probabilistic Programming Languages
Home Page: http://dippl.org/
This section (and the one above it) is really just a stub: http://dippl.org/chapters/03-enumeration.html#caching
Would be good to say a bit more about how caching works, and when you can (and should) do it. Including inserting additional marginalization ops.
http://dippl.org/chapters/04-factorseq.html
Enumerate can only be used with ERPs that have support function.
Make sure text and program results cohere
How do I read from the input/output stream (or a file)?
Running the script results in:
Resetting webppl to latest remote...
fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'
ReferenceError: Can't find variable: webppl
This requires some adjustment - the live cps and naming transform forms break if I just slot in the latest dev version.
In Firefox only
In
print(literalListener("all blond people are nice"))
we get the error:
too much recursion
I was reading about the automatic addressing transform based on stack-addresses. It seams to make sense in most cases but I was wondering how general this scheme is. It seems to work when you recurse or iterate over a list and you are always going over the same modeled individuals in the same order. But imagine you were modelling a bus full of tourists, trying to predict some attributes of each tourist such as hunger level after each stop (to determine when to stop to eat).
Say the tourists like to trade seats and you decided to first predict the order of seating after each stop and then recurse over the bus seats to predict other attributes. When trying to reuse sample from the previous trace, wouldn't it make more sense for the sample to be tied to named individual tourists instead of to seats in the bus even if the stack address name scheme correspond to seat order not tourists order?
It might just be a matter of being careful when writing generative models to not recurse over different order of individual things. Otherwise allowing some kind of manual naming could also be an option.
Or am I interpreting this wrong?
Margins too wide
The guassian mixture, hidden semi-markov model, and particle filter for semi-markov random walk examples render blank images in 05-particlefilter.html
In webppl issue #18, Tomer wrote:
I'm not sure what level of readership you're aiming at, but taking probmods.org as a benchmark, it feels like towards the end of Chapter 2 you're assuming a great deal of background knowledge for a casual reader.
In particular, while the introduction of inference through the binomial function feels 'standard' and normal, this paragraph suddenly shows up after it:
"What if we wanted to adjust the above binomial computation to favor executions in which a or b was true? The factor keyword re-weights an execution by adding the given number to the log-probability of that execution. For instance:"
What 'given number' are we adding here? How much does a change of -2 correspond to? Why would we want to make that specific inference or assumption? In Church/probmods when inference was introduction the conditioning was on a pretty simple notion that 'the sum of the heads is 2 or greater'.
We currently use setTimeout to clear the stack... this may be bad wrt performance. Should clear stack less often or switch to a trampoline to avoid stack bloat.
Remove examples that are not part of the book. Migrate to webppl repository, forest, or specific research repositories as appropriate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.