Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
5b48e94
refactoring LogicNode hierarchy
guyvdbroeck Jul 9, 2020
cf90550
reinstating vtrees
guyvdbroeck Jul 11, 2020
8293f95
bugfixes to LoadSave
guyvdbroeck Jul 13, 2020
433088b
redesign compilation API
guyvdbroeck Jul 21, 2020
718dc17
change node flip field into counter
guyvdbroeck Jul 23, 2020
2e322e2
refactor LoadSave; probabilistic node methods
MhDang Jul 23, 2020
722cf21
logistic node methods
MhDang Jul 23, 2020
55ff325
mv files
MhDang Jul 23, 2020
ca922c7
todo
MhDang Jul 23, 2020
9e77d6c
EVI
MhDang Jul 24, 2020
e759aa7
MAR
MhDang Jul 24, 2020
c082978
marginal pass down
MhDang Jul 24, 2020
4f5c09b
MPE
MhDang Jul 24, 2020
41acbda
mv file and clean up
MhDang Jul 24, 2020
0e3ba4f
mv file and clean up
MhDang Jul 24, 2020
3654686
kld
MhDang Jul 24, 2020
8d15262
logistic circuits
MhDang Jul 24, 2020
8606d02
minor fix
MhDang Jul 24, 2020
d3964d0
sample from psdd
MhDang Jul 24, 2020
1e46155
fix tests
MhDang Jul 24, 2020
ff710bd
fix
MhDang Jul 24, 2020
a816a5a
fix
MhDang Jul 24, 2020
a953244
Rename Queries.jl to queries.jl
MhDang Jul 25, 2020
60198a6
reasoning
MhDang Jul 25, 2020
ed3a17b
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
MhDang Jul 25, 2020
c3bb754
Rename Expectation.jl to expectation.jl
MhDang Jul 25, 2020
a445f96
add todo
MhDang Jul 25, 2020
afb1460
fix doc build issue
khosravipasha Jul 25, 2020
6e8e003
fix docs - renamed IO module to LoadSave
khosravipasha Jul 25, 2020
225982e
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
MhDang Jul 26, 2020
83b8d96
logical -> logic
guyvdbroeck Jul 26, 2020
29fd228
rm decorator circuit
MhDang Jul 26, 2020
1a8d95b
fix last commit
MhDang Jul 26, 2020
ccd10ef
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
MhDang Jul 26, 2020
c6e40a8
rename
MhDang Jul 26, 2020
72f68cf
struct prob circuit
MhDang Jul 26, 2020
c7e2533
fix circuit saver and tests
MhDang Jul 26, 2020
89f6500
rm file
MhDang Jul 26, 2020
9d5ee03
use element notation on vtrees
guyvdbroeck Jul 27, 2020
fcc278d
logsumexp -> logaddexp
YitaoLiang Aug 1, 2020
9b4b511
rm epsilon in log(0)
MhDang Aug 4, 2020
0cf571e
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
MhDang Aug 4, 2020
1ecd28a
fix
MhDang Aug 4, 2020
d2fa8be
revise queries
YitaoLiang Aug 6, 2020
a8ea225
retain old functions to mitigate errors
YitaoLiang Aug 6, 2020
4a974cb
[logistic circuits] parameter learning
YitaoLiang Aug 7, 2020
159b5d9
[logistic circuits] speed up queries
YitaoLiang Aug 8, 2020
3354c76
[logistic circuits] speed up queries
YitaoLiang Aug 8, 2020
25e046c
[logistic circuits] speed up parameter learning
YitaoLiang Aug 8, 2020
0e94776
[wip] renaming; some speed benchmark test results
YitaoLiang Aug 12, 2020
2f287c4
clt init
MhDang Aug 16, 2020
5f546ae
add structure learn
MhDang Aug 16, 2020
38add39
add emsembles circuits & em
MhDang Aug 16, 2020
495ed9a
[test] expectation: bypass precision problem
YitaoLiang Aug 17, 2020
cffa0f8
[feature] logistic circuit: gpu support
YitaoLiang Aug 17, 2020
973ff15
[feature] logistic circuit: gpu w/ auto batch
YitaoLiang Aug 17, 2020
d882253
[test] expectation: bypass precision problem
YitaoLiang Aug 17, 2020
6eccc2f
[refactor] logistic circuits: reuse bit_circuit
YitaoLiang Aug 17, 2020
7e6ffea
[fix] parameter_circuit: edge flow
YitaoLiang Aug 17, 2020
1e6d67a
[feature] logistic circuit: learn parameter w/ gpu
YitaoLiang Aug 17, 2020
6c0c19a
[fix] logistic circuit: memory safe
YitaoLiang Aug 17, 2020
68f11fe
[feature] logistic circuit: recover edge flow from v and node_flow
YitaoLiang Aug 20, 2020
c0f9020
BitCircuit-based parameter learning on CPU
guyvdbroeck Aug 22, 2020
b97060c
GPU parameter learning
guyvdbroeck Aug 23, 2020
a0ac5c8
NodeId type annotation
guyvdbroeck Aug 23, 2020
2fcc738
minor changes
guyvdbroeck Aug 24, 2020
38da4f7
fix test build
khosravipasha Aug 27, 2020
b82163c
add test deps
khosravipasha Aug 27, 2020
1c9ffeb
fix test error
khosravipasha Aug 27, 2020
1ddd63f
bugfix
guyvdbroeck Aug 30, 2020
cfe5a6f
temproarily remove broken code
guyvdbroeck Aug 30, 2020
e635c2f
remove submodules
guyvdbroeck Aug 30, 2020
86181ab
prob nodes
guyvdbroeck Aug 30, 2020
6548620
disable broken tests during refactoring
guyvdbroeck Aug 30, 2020
235df8d
reinstate `parameters.jl`
guyvdbroeck Aug 30, 2020
d20a069
reinstate structured probabilistic circuits and add tests
guyvdbroeck Aug 31, 2020
8b230e4
clean up dependencies
guyvdbroeck Aug 31, 2020
aece7d0
likelihood computation on CPU
guyvdbroeck Aug 31, 2020
f9fc54f
chore: formats
YitaoLiang Sep 2, 2020
61bb161
fixes to BitCircuits on GPU
guyvdbroeck Sep 2, 2020
52204da
fix GPU likelihood computation
guyvdbroeck Sep 2, 2020
18e1d1d
manually collect some CUDA gerbage
guyvdbroeck Sep 2, 2020
b2e0fad
add tests for likelihood
guyvdbroeck Sep 2, 2020
0d27ede
ParamBitCircuit wrapper for parameterized bit circuit
guyvdbroeck Sep 3, 2020
4e7ae12
[refactoring] logistic circuits: class probs based on bit_circuit
YitaoLiang Sep 3, 2020
4408841
Merge branch 'lc' into refactoring
YitaoLiang Sep 3, 2020
a2cf964
[fix] deps
YitaoLiang Sep 3, 2020
c8e083d
[tests] temporarily diable logistic tests
YitaoLiang Sep 3, 2020
b863b2e
[renaming] logistic circuits
YitaoLiang Sep 3, 2020
db0c655
[refactoring] param_bit_circuit
YitaoLiang Sep 3, 2020
1b77971
marginal upward pass
guyvdbroeck Sep 4, 2020
95c90ed
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
guyvdbroeck Sep 4, 2020
db42ace
additional merge
guyvdbroeck Sep 4, 2020
a3cdefa
[refactor] logistic circuits: parameter learning
YitaoLiang Sep 5, 2020
2e4704c
Merge branch 'refactoring' of https://github.com/Juice-jl/Probabilist…
YitaoLiang Sep 5, 2020
d5a0b09
[fix] missing partial commit
YitaoLiang Sep 5, 2020
74ecc19
[fix] typo
YitaoLiang Sep 5, 2020
7ededfb
[refactoring] move lc nodes out of submodule
YitaoLiang Sep 5, 2020
c8d51a2
[rename] api name changes
YitaoLiang Sep 5, 2020
d17f264
fixes for CPU parameter estimation
guyvdbroeck Sep 6, 2020
350ddfc
fixed parameter estimation
guyvdbroeck Sep 6, 2020
074c742
fix likelihood computation
guyvdbroeck Sep 6, 2020
a00d7dc
reinstate marginal pass up
guyvdbroeck Sep 6, 2020
e5c988c
marginal flows on CPU
guyvdbroeck Sep 6, 2020
bb901b6
marginal downward pass GPU
guyvdbroeck Sep 6, 2020
681d84b
Merge branch 'refactoring' of https://github.com/Juice-jl/Probabilist…
YitaoLiang Sep 7, 2020
47bf2eb
[refactor] adapt to latest apis
YitaoLiang Sep 7, 2020
48c7e42
[fix] typo
YitaoLiang Sep 7, 2020
0e8f218
em estimate parameter for cpu
MhDang Sep 12, 2020
3ed182d
reinstate `LoadSave` module
guyvdbroeck Sep 12, 2020
158b31d
likelihood and marginal tests
guyvdbroeck Sep 12, 2020
cc1938c
more serious tests for marginals
guyvdbroeck Sep 12, 2020
bd7e5cb
more marginal flow tests
guyvdbroeck Sep 12, 2020
13e490e
likelihood tests gpu
guyvdbroeck Sep 12, 2020
9266c9b
cleanup of sampling
guyvdbroeck Sep 12, 2020
7505e4d
reinstate probability of constraint
guyvdbroeck Sep 12, 2020
7c4e810
reinstate entropy and kl divergence
guyvdbroeck Sep 12, 2020
0baa4ef
reinstate expectation code; untested
guyvdbroeck Sep 12, 2020
db31802
remove deprecated mixture code
guyvdbroeck Sep 12, 2020
d113f62
reinstate `SharedProbCircuit`
guyvdbroeck Sep 13, 2020
0c7ce72
make expectation codes runnable
khosravipasha Sep 13, 2020
0f52126
minor fixes
guyvdbroeck Sep 13, 2020
b30d5ca
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
guyvdbroeck Sep 13, 2020
ffacb1d
pc compilation helper
MhDang Sep 15, 2020
3509182
circuit visualizations
MhDang Sep 15, 2020
76b52b6
commenting legacy code
YitaoLiang Sep 16, 2020
806f154
commenting legacy code
YitaoLiang Sep 16, 2020
8eaed70
compilation helper
MhDang Sep 16, 2020
dcf1aa8
minor changes
MhDang Sep 16, 2020
7142661
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
MhDang Sep 16, 2020
057e7aa
[fix] fix queries of logistic circuits
YitaoLiang Sep 16, 2020
82fed55
[fix] bug fix for logistic circuits param updates
YitaoLiang Sep 16, 2020
987bdfa
Merge branch 'refactoring' of github.com:Juice-jl/ProbabilisticCircui…
MhDang Sep 16, 2020
38b6b9b
reinstate structure learn
MhDang Sep 17, 2020
341f2f4
MAP inference on CPU
guyvdbroeck Sep 27, 2020
abbd7a9
MAP CPU tests
guyvdbroeck Sep 27, 2020
2d3afb3
make MAP inference code more GPU friendly
guyvdbroeck Sep 27, 2020
018cefa
MAP inference on GPU
guyvdbroeck Sep 29, 2020
8378bf5
unit test for GPU MAP
guyvdbroeck Sep 29, 2020
10640e4
MAP ccode cleanup
guyvdbroeck Sep 29, 2020
a270159
conditional sampling on CPU
guyvdbroeck Oct 1, 2020
2db0d6c
GPU sampling
guyvdbroeck Oct 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@
*.vscode
**checkpoint.ipynb
*Manifest.toml
docs/build/
docs/build/
scratch/
13 changes: 7 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,23 @@ jobs:
include:
- stage: "Unit Tests"
os: linux
julia: 1.3
julia: 1.5
install:
- julia -e 'using Pkg; Pkg.activate("."); Pkg.add(PackageSpec(url="https://github.com/Juice-jl/LogicCircuits.jl")); Pkg.instantiate(); Pkg.precompile()'
- julia -e 'using Pkg; Pkg.activate("."); Pkg.add(PackageSpec(url="https://github.com/Juice-jl/LogicCircuits.jl")); Pkg.instantiate(); Pkg.precompile();'
- julia -e 'using Pkg; Pkg.activate("./test"); Pkg.add(PackageSpec(url="https://github.com/Juice-jl/LogicCircuits.jl")); Pkg.develop(PackageSpec(path = pwd())); Pkg.instantiate(); Pkg.precompile();'

script:
- julia --code-coverage --color=yes -p2 test/runtests.jl

after_success:
- julia -e 'using Pkg; Pkg.add("Coverage"); using Coverage; Codecov.submit(process_folder())'
- julia -e 'using Pkg; Pkg.add("Coverage"); using Coverage; Codecov.submit(process_folder());'

- stage: "Deploy Documentation"
os: linux
julia: 1.3
julia: 1.5
script:
- julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(url="https://github.com/Juice-jl/LogicCircuits.jl")); Pkg.instantiate(); Pkg.precompile();'
- julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate();'
- julia --project=docs/ docs/make.jl
after_success: skip

Expand All @@ -38,4 +39,4 @@ notifications:
on_start: always
on_error: always
rooms:
- secure: VMXOgM9g758gZiU06/Gaahns6CFpoSuDYMnl9g0LMv165HEe7tZPlF1IFbTEXk6svr+tAuSEd3oxs/kAyK7onI3hIpP0PSc+Y7/+rnOMk8zU+z7R6JEzQKHHb1M6pQ6MjzOia9BM7SfcfVqedPREVXZx+XJPmVuR4BgTOxUnnyfltZzW0ldSbyeJ37FdDSd9SDRRf7Q4UzbEMN33GfVsTKMZoRqASrZXhvqAVp7deXMdGp1kNlvIbbwVkeICLYTIYrm5zd0HkH2yEhk0AtgeTpyx/kkR1T0Fs2+PCDsLRPhP1EEJs7FdsdQJuP0SueJ92GpPd7yLYZVVWWQkGWudNb6H3iYp2xtbZCoeCBLEUgusrawwdxp0OlNOgP/aeJDc+zNy59ikraluI0sNCV1Pl8dIXu8Ihu6e7W6hoiTQ8K9PjwcXSmBgUsR+kXD8NcCx73RTxynokv+24Xk0M1pkJhu6mjNjZBDIegXVM/CnNew1LSMoMjdi43asuDiDbkZg2uCxfHwaMxlgWuM/M38r662FbOjEfgr13fhCyuUQZRFOKvvqU17HbA+ewC/J40C2g0sBDGPu/uOJsDJaQGPXDpXsh4G+8R7uZRNunhwNPK4OnVdY+uVnYlD+9TG9T1IothaDSRJvYU8HwAcUOJhMNYDDQosWOy+01NQtX0IYRgk=
- secure: VMXOgM9g758gZiU06/Gaahns6CFpoSuDYMnl9g0LMv165HEe7tZPlF1IFbTEXk6svr+tAuSEd3oxs/kAyK7onI3hIpP0PSc+Y7/+rnOMk8zU+z7R6JEzQKHHb1M6pQ6MjzOia9BM7SfcfVqedPREVXZx+XJPmVuR4BgTOxUnnyfltZzW0ldSbyeJ37FdDSd9SDRRf7Q4UzbEMN33GfVsTKMZoRqASrZXhvqAVp7deXMdGp1kNlvIbbwVkeICLYTIYrm5zd0HkH2yEhk0AtgeTpyx/kkR1T0Fs2+PCDsLRPhP1EEJs7FdsdQJuP0SueJ92GpPd7yLYZVVWWQkGWudNb6H3iYp2xtbZCoeCBLEUgusrawwdxp0OlNOgP/aeJDc+zNy59ikraluI0sNCV1Pl8dIXu8Ihu6e7W6hoiTQ8K9PjwcXSmBgUsR+kXD8NcCx73RTxynokv+24Xk0M1pkJhu6mjNjZBDIegXVM/CnNew1LSMoMjdi43asuDiDbkZg2uCxfHwaMxlgWuM/M38r662FbOjEfgr13fhCyuUQZRFOKvvqU17HbA+ewC/J40C2g0sBDGPu/uOJsDJaQGPXDpXsh4G+8R7uZRNunhwNPK4OnVdY+uVnYlD+9TG9T1IothaDSRJvYU8HwAcUOJhMNYDDQosWOy+01NQtX0IYRgk=
12 changes: 11 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@ version = "0.1.1"

[deps]
BlossomV = "6c721016-9dae-5d90-abf6-67daaccb2332"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
Clustering = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LogicCircuits = "a7847b3b-b7f1-4dd5-83c3-60e0aa0f8599"
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
MLDatasets = "eb30cadb-4394-5ae3-aed4-317e484a6458"
MetaGraphs = "626554b9-1ddb-594c-aa3c-2596fe9399a5"
Metis = "2679e427-3c69-5b7f-982b-ece356f1e94b"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Expand All @@ -19,17 +24,22 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
TikzGraphs = "b4f28e30-c73f-5eaf-a395-8a9db949a742"

[compat]
BlossomV = "0.4"
CUDA = "1.2"
Clustering = "0.14"
DataFrames = "0.21"
DataStructures = "0.17"
LightGraphs = "1.3"
LogicCircuits = "0.1.1"
LoopVectorization = "0.8.20"
MLDatasets = "0.4, 0.5"
MetaGraphs = "0.6"
Metis = "1.0"
Reexport = "0.2"
SimpleWeightedGraphs = "1.1"
StatsBase = "0.33"
StatsFuns = "0.9"
julia = "1.3"
julia = "1.5"
6 changes: 0 additions & 6 deletions docs/src/api/internals/io.md

This file was deleted.

6 changes: 6 additions & 0 deletions docs/src/api/internals/loadsave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

# LoadSave

```@autodocs
Modules = [ProbabilisticCircuits.LoadSave]
```
5 changes: 0 additions & 5 deletions docs/src/api/internals/logistic.md

This file was deleted.

5 changes: 0 additions & 5 deletions docs/src/api/internals/probabilistic.md

This file was deleted.

5 changes: 0 additions & 5 deletions docs/src/api/internals/reasoning.md

This file was deleted.

5 changes: 0 additions & 5 deletions docs/src/api/internals/structureLearner.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/src/api/internals/utils.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Utils

```@autodocs
Modules = [Utils]
Modules = [ProbabilisticCircuits.Utils]
```
117 changes: 0 additions & 117 deletions src/IO/CircuitLineCompiler.jl

This file was deleted.

33 changes: 0 additions & 33 deletions src/IO/IO.jl

This file was deleted.

22 changes: 0 additions & 22 deletions src/IO/Loaders.jl

This file was deleted.

11 changes: 11 additions & 0 deletions src/LoadSave/LoadSave.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module LoadSave

using LogicCircuits
using ...ProbabilisticCircuits

include("circuit_line_compiler.jl")
include("circuit_loaders.jl")
include("circuit_savers.jl")
include("plot.jl")

end
Loading