Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make draw_values draw from the joint distribution #3214

Closed
wants to merge 18 commits into from

Commits on May 25, 2018

  1. Merge pull request #1 from pymc-devs/master

    Upstream fetch
    lucianopaz authored May 25, 2018
    Configuration menu
    Copy the full SHA
    6aedaa9 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2018

  1. Configuration menu
    Copy the full SHA
    32ce3c2 View commit details
    Browse the repository at this point in the history
  2. Resolved merge conflicts with upstream master, which I had not fetche…

    …d properly before starting the fix...
    lucianopaz committed Sep 26, 2018
    Configuration menu
    Copy the full SHA
    bd25baa View commit details
    Browse the repository at this point in the history
  3. Fixed most of the bugs encountered due to the incorrect upstream fetc…

    …h. Two failures remain: TestNutsCheckTrace.test_bad_init raises a RuntimeError instead of a ValueError, but that seems to be the fault of parallel_sampling.py chaining the exception. Then test_step_exact for SMC gives different traces. Finally, sometimes, test_glm_link_func2 gets into a deadlock. Im not sure why. Will check in TravisCI if they pop out.
    lucianopaz committed Sep 26, 2018
    Configuration menu
    Copy the full SHA
    f6ecb23 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    df5e3ae View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d43d149 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2018

  1. Implemented get_first_level_conditionals to try to get rid of the a…

    …dded `conditional_on` attribute of every distribution. This function does a breadth first search on the node's `logpt` or `transformed.logpt` graph, looking for named nodes which are different from the root node, or the node's transformed, and is also not a `TensorConstant` or `SharedVariable`. Each branch was searched until the first named node was found. This way, the parent conditionals of the `root` searched node, which were only one step away from it in the bayesian network were returned. However, this ran into a problem with `Mixture` classes. These add to the `logpt` graph, another `logpt` graph from the `comp_dists`. This leads to the problem that the `logpt`'s first level conditionals will also be seen as if they were first level conditional of the `root`. Furthermore, many copies of nodes done by the added `logpt` ended up being inserted into the computed `conditional_on`. This lead to a very strange error, in which loops appeared in the DAG, and depths started to be wrong. In particular, there were no depth 0 nodes. My view is that the explicit `conditional_on` attribute prevents problems like this one from happening, and so I left it as is, to discuss. Other changes done in this commit are that `test_exact_step` for the SMC uses `draw_values` on a hierarchy, and given that `draw_values`'s behavior changed in the hierarchy situations, the exact trace values must also be adjusted. Finally `test_bad_init` was changed to run on one core, this way the parallel exception chaining does not change the exception type.
    lucianopaz committed Sep 27, 2018
    Configuration menu
    Copy the full SHA
    339828d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    890ae74 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2018

  1. Configuration menu
    Copy the full SHA
    237f8ba View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2018

  1. Completely removed DependenceDAG class. The variable dependence graph…

    … is now stored in a networkx.DiGraph. Networkx is then used to compute subgraphs, and perform topological_sort on the graph during draw_values execution.
    lucianopaz committed Oct 1, 2018
    Configuration menu
    Copy the full SHA
    4ef4ea3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    659647e View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2018

  1. Added tests for WrapAsHashable. Made get_first_layer_conditionals mor…

    …e robust against theano autonamed ops.
    lucianopaz committed Oct 2, 2018
    Configuration menu
    Copy the full SHA
    4371af2 View commit details
    Browse the repository at this point in the history
  2. Added __ne__ for WrapAsHashable, which delegates to __eq__. This must…

    … be done to get the correct behavior in python 2.
    lucianopaz committed Oct 2, 2018
    Configuration menu
    Copy the full SHA
    6298d71 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2018

  1. Resolve comments from PR.

    lucianopaz committed Oct 12, 2018
    Configuration menu
    Copy the full SHA
    31d36a2 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2018

  1. Fixed typo. Changed dag edge attributes to only deterministic 0 or 1.…

    … This way it is easier to get the edge colors for networkx draw method. Added a toy draw function to show the basic draw features we can use from networkx.
    lucianopaz committed Oct 23, 2018
    Configuration menu
    Copy the full SHA
    672907c View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2018

  1. Finished adaptation of ModelGraph to use networkx for plate detection…

    …, even in the presence of plates of the same shape.
    lucianopaz committed Oct 31, 2018
    Configuration menu
    Copy the full SHA
    ba8305f View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2018

  1. Configuration menu
    Copy the full SHA
    fbbf4c3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    08eccbf View commit details
    Browse the repository at this point in the history