Skip to content

Commit 00c08b2

Browse files
committed
Use linked varinfo by default
1 parent 14f9f46 commit 00c08b2

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

Project.toml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
2323
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
2424
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
2525
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
26-
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
2726
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
2827
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2928

@@ -42,8 +41,8 @@ DynamicPPLChainRulesCoreExt = ["ChainRulesCore"]
4241
DynamicPPLEnzymeCoreExt = ["EnzymeCore"]
4342
DynamicPPLForwardDiffExt = ["ForwardDiff"]
4443
DynamicPPLJETExt = ["JET"]
45-
DynamicPPLMarginalLogDensitiesExt = ["MarginalLogDensities"]
4644
DynamicPPLMCMCChainsExt = ["MCMCChains"]
45+
DynamicPPLMarginalLogDensitiesExt = ["MarginalLogDensities"]
4746
DynamicPPLMooncakeExt = ["Mooncake"]
4847

4948
[compat]
@@ -67,14 +66,13 @@ JET = "0.9, 0.10"
6766
KernelAbstractions = "0.9.33"
6867
LinearAlgebra = "1.6"
6968
LogDensityProblems = "2"
70-
MarginalLogDensities = "0.4.1"
7169
MCMCChains = "6, 7"
7270
MacroTools = "0.5.6"
71+
MarginalLogDensities = "0.4.1"
7372
Mooncake = "0.4.147"
7473
OrderedCollections = "1"
7574
Printf = "1.10"
7675
Random = "1.6"
77-
Requires = "1"
7876
Statistics = "1"
7977
Test = "1.6"
8078
julia = "1.10.8"

ext/DynamicPPLMarginalLogDensitiesExt.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ _to_varname(n::VarName) = n
99
"""
1010
marginalize(
1111
model::DynamicPPL.Model,
12-
varinfo::DynamicPPL.AbstractVarInfo=VarInfo(model),
1312
varnames::AbstractVector{<:Union{Symbol,<:VarName}},
13+
varinfo::DynamicPPL.AbstractVarInfo=link(VarInfo(model), model),
1414
getlogprob=DynamicPPL.getlogjoint,
1515
method::MarginalLogDensities.AbstractMarginalizer=MarginalLogDensities.LaplaceApprox();
1616
kwargs...,
@@ -23,6 +23,10 @@ log-density of the given `model`, after marginalizing out the variables specifie
2323
The resulting object can be called with a vector of parameter values to compute the marginal
2424
log-density.
2525
26+
You can specify the `varinfo` to use for the model. By default we use a linked `VarInfo`,
27+
meaning that the resulting log-density function accepts parameters that have been
28+
transformed to unconstrained space.
29+
2630
The `getlogprob` argument can be used to specify which kind of marginal log-density to
2731
compute. Its default value is `DynamicPPL.getlogjoint` which returns the marginal log-joint
2832
probability.
@@ -55,7 +59,7 @@ julia> logpdf(Normal(2.0), 1.0)
5559
function DynamicPPL.marginalize(
5660
model::DynamicPPL.Model,
5761
varnames::AbstractVector{<:Union{Symbol,<:VarName}},
58-
varinfo::DynamicPPL.AbstractVarInfo=DynamicPPL.VarInfo(model),
62+
varinfo::DynamicPPL.AbstractVarInfo=DynamicPPL.link(DynamicPPL.VarInfo(model), model),
5963
getlogprob::Function=DynamicPPL.getlogjoint,
6064
method::MarginalLogDensities.AbstractMarginalizer=MarginalLogDensities.LaplaceApprox();
6165
kwargs...,

0 commit comments

Comments
 (0)