Skip to content

These tests should be in DynamicPPL or removed #2475

@penelopeysm

Description

@penelopeysm

@testset "Contexts" begin
# Test LikelihoodContext
@model function testmodel1(x)
a ~ Beta()
lp1 = getlogp(__varinfo__)
x[1] ~ Bernoulli(a)
return global loglike = getlogp(__varinfo__) - lp1
end
model = testmodel1([1.0])
varinfo = Turing.VarInfo(model)
model(varinfo, Turing.SampleFromPrior(), Turing.LikelihoodContext())
@test getlogp(varinfo) == loglike
# Test MiniBatchContext
@model function testmodel2(x)
a ~ Beta()
return x[1] ~ Bernoulli(a)
end
model = testmodel2([1.0])
varinfo1 = Turing.VarInfo(model)
varinfo2 = deepcopy(varinfo1)
model(varinfo1, Turing.SampleFromPrior(), Turing.LikelihoodContext())
model(
varinfo2,
Turing.SampleFromPrior(),
Turing.MiniBatchContext(Turing.LikelihoodContext(), 10),
)
@test isapprox(getlogp(varinfo2) / getlogp(varinfo1), 10)
end

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions