@@ -6,13 +6,11 @@ if isdefined(Base, :get_extension)
6
6
using Random
7
7
using SliceSampling
8
8
using Turing
9
- # using Turing: Turing, Experimental
10
9
else
11
10
using .. LogDensityProblemsAD
12
11
using .. Random
13
12
using .. SliceSampling
14
13
using .. Turing
15
- # using ..Turing: Turing, Experimental
16
14
end
17
15
18
16
# Required for using the slice samplers as `externalsampler`s in Turing
@@ -24,12 +22,18 @@ function Turing.Inference.getparams(
24
22
end
25
23
# end
26
24
27
- # Required for using the slice samplers as `Experimental. Gibbs` samplers in Turing
25
+ # Required for using the slice samplers as `Gibbs` samplers in Turing
28
26
# begin
27
+ Turing. Inference. isgibbscomponent (:: SliceSampling.RandPermGibbs ) = true
28
+ Turing. Inference. isgibbscomponent (:: SliceSampling.HitAndRun ) = true
29
+ Turing. Inference. isgibbscomponent (:: SliceSampling.Slice ) = true
30
+ Turing. Inference. isgibbscomponent (:: SliceSampling.SliceSteppingOut ) = true
31
+ Turing. Inference. isgibbscomponent (:: SliceSampling.SliceDoublingOut ) = true
32
+
29
33
function Turing. Inference. getparams (
30
- :: Turing.DynamicPPL.Model , state :: SliceSampling.UnivariateSliceState
34
+ :: Turing.DynamicPPL.Model , sample :: SliceSampling.UnivariateSliceState
31
35
)
32
- return state . transition. params
36
+ return sample . transition. params
33
37
end
34
38
35
39
function Turing. Inference. getparams (
@@ -43,18 +47,6 @@ function Turing.Inference.getparams(
43
47
)
44
48
return state. transition. params
45
49
end
46
-
47
- function Turing. Experimental. gibbs_requires_recompute_logprob (
48
- model_dst,
49
- :: Turing.DynamicPPL.Sampler {
50
- <: Turing.Inference.ExternalSampler{<:SliceSampling.AbstractSliceSampling,A,U}
51
- },
52
- sampler_src,
53
- state_dst,
54
- state_src,
55
- ) where {A,U}
56
- return false
57
- end
58
50
# end
59
51
60
52
function SliceSampling. initial_sample (rng:: Random.AbstractRNG , ℓ:: Turing.LogDensityFunction )
0 commit comments