Skip to content

Juice v0.4 refactor #106

@khosravipasha

Description

@khosravipasha
  • Param Learning

    • EM
    • EM CPU
    • Regurlarization (Softness)
    • SGD version. Best option seems to be to customize rrules from ChainRules.jl. Then can grad/optimize easily with Zygote or Flux.
  • Queries/Transformation for the new BitCircuit type. CPU and CUDA versions.

    • EVI
    • MAR
    • MAP (approx)
    • Sample
    • Conditionals
    • All marginals
    • Marginal MAP algorithm. Would need to rethink the algorithm a bit since now have any input types.
  • Structures

    • Splits, and clones
    • Learn structures from missing data
    • HCLT
    • Strudel
    • RAT-SPN with option to specify leaf type
    • PD Structures for images?
    • Other common structures (fully factorized, NB, HMM, markov chains, etc)
  • Tests

    • Tests for EM learning with missing in the inputs
    • Test with different input types for likelihood, flow, MAP, Sample, etc
      • Binomial
      • Categorical
      • Indicator
    • Better small circuits for test cases, little_4var might be too simple.
    • Test for conditional sampling of circuits
  • Docs

  • Misc

  • IO

    • DensityEstimationData.jl
    • JuiceModelZoo.jl
    • Read/Write of circuits text format.
      • Faster Version
      • Support direct read/write to zipped format gzip, etc
    • Binary format for circuit for more efficient saving
    • Zoo related IO; zoo_psdd, zoo_pc, etc.
    • TikZ plotting now broken, need slight modification

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions