TuringLang / TuringLang/docs

Broad checklist of docs bits to work on

Open
#484 7 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Markdown
Stars
238
Forks
107
Avg merge
1d 1h
Merged PRs (30d)
2

Description

The documentation, in particular the one in Turing.jl itself, is in dire need of update given the amount of features and improvements we've made over the past year. In particular, the tutorials have lots and lots room for improvement.

A few things that come to mind immediately are the foollowing.

User-facing side:

  • Turing.predict for predicting based on a given chain.
  • DynamicPPL.generated_quantities, similar to Stan's generated-block, which allows you to, effectively, capture the return-values of the model (i.e. the stuff in return ...) conditioned on a chain.
  • condition and decondition. There are now two ways to indicate whether a variable is to be considered an observation: passing the variable as an argument (the "old" way), or using condition / | (the "new" way). The latter has is, arguably, more intuitive, in addition to being much easier to work with programmatically.
  • @submodel. A macro that allows you to use models within models. Makes it very easy to write modular models.
  • logprior, loglikelihood, and logjoint. Easy-to-use methods for evaluating the model in different ways.
  • fix and condition

Developer-side:

We will add more to the list as we go on, but for now this is a good starting point.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the Turing.jl documentation and tutorials, then use the unchecked condition/decondition, LogDensityProblems.jl interface, and DynamicPPL.TestUtils entries as the initial scope. Done means documenting those listed user-facing and developer-facing features and improving the tutorials, but the issue does not name specific files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.