ProbabilisticCircuits.jl icon indicating copy to clipboard operation
ProbabilisticCircuits.jl copied to clipboard

Juice v0.4 refactor

Open khosravipasha opened this issue 3 years ago • 0 comments

  • [ ] Param Learning

    • [x] 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.

    • [x] EVI
    • [x] MAR
    • [x] MAP (approx)
    • [x] 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
    • [x] 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
      • [x] Indicator
    • [ ] Better small circuits for test cases, little_4var might be too simple.
    • [ ] Test for conditional sampling of circuits
  • [x] Docs

    • [x] GPU Docs in manual
    • [x] Notebook for learning
    • [ ] This seems nice for adding citations if needed https://github.com/ali-ramadhan/DocumenterCitations.jl
  • [x] Misc

    • [ ] #120
    • [x] Float input types had some issues, need to double check
    • [x] Lazy Batching (batchview??) not sure if worth it https://mldatapatternjl.readthedocs.io/en/latest/documentation/dataview.html#as-vector-of-batches
  • [x] IO

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

khosravipasha avatar Feb 10 '22 01:02 khosravipasha