Skip to content

Commit

Permalink
minor updates
Browse files Browse the repository at this point in the history
  • Loading branch information
sunxd3 committed Feb 3, 2025
1 parent 2239db7 commit 9780e3f
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,24 @@ module ProbabilisticGraphicalModels

using BangBang
using Graphs
using MetaGraphsNext
using Distributions
using JuliaBUGS
using JuliaBUGS: BUGSGraph, VarName
using JuliaBUGS.MetaGraphsNext

import Graphs: edges
import JuliaBUGS.MetaGraphsNext: labels
using JuliaBUGS: BUGSGraph, VarName, NodeInfo

include("bayesian_network.jl")
include("conditioning.jl")
include("functions.jl")

struct NodeInfo{F}
is_stochastic::Bool
is_observed::Bool
node_function_expr::Expr
node_function::F
node_args::Tuple{Vararg{Symbol}}
loop_vars::NamedTuple
end

export BayesianNetwork, condition, condition!, s
decondition,
decondition!,
ancestral_sampling,
is_conditionally_independent,
add_deterministic_vertex!,
add_stochastic_vertex!,
add_vertex!,
translate_BUGSGraph_to_BayesianNetwork
export BayesianNetwork,
condition,
condition!,
decondition,
decondition!,
ancestral_sampling,
is_conditionally_independent,
add_deterministic_vertex!,
add_stochastic_vertex!,
add_vertex!,
translate_BUGSGraph_to_BayesianNetwork
end
38 changes: 38 additions & 0 deletions temp.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using JuliaBUGS

(; model_def, data) = JuliaBUGS.BUGSExamples.rats

model = compile(model_def, data)

ni = model.g[@varname(var"beta.tau")]
nf = ni.node_function

nf(model.evaluation_env, ())

model.g[@varname(Y[1, 1])]

vn

using AbstractPPL
getsym(vn)
getoptic(vn)

y = rand(5, 5)

getoptic(vn)(y)

AbstractPPL.get(model.evaluation_env, vn)

ex = :(
function foo(x)
return JuliaBUGS.dnorm(x, 1)
end
)

Base.eval(:(using JuliaBUGS))

f = Base.eval(ex)

dist = f(1)

f

0 comments on commit 9780e3f

Please sign in to comment.