- 
                Notifications
    You must be signed in to change notification settings 
- Fork 230
Closed
Labels
Description
Turing.jl/test/mcmc/Inference.jl
Lines 122 to 150 in 24d5556
| @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 |