@@ -6,13 +6,11 @@ if isdefined(Base, :get_extension)
66 using Random
77 using SliceSampling
88 using Turing
9- # using Turing: Turing, Experimental
109else
1110 using .. LogDensityProblemsAD
1211 using .. Random
1312 using .. SliceSampling
1413 using .. Turing
15- # using ..Turing: Turing, Experimental
1614end
1715
1816# Required for using the slice samplers as `externalsampler`s in Turing
@@ -24,12 +22,18 @@ function Turing.Inference.getparams(
2422end
2523# end
2624
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
2826# 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+
2933function Turing. Inference. getparams (
30- :: Turing.DynamicPPL.Model , state :: SliceSampling.UnivariateSliceState
34+ :: Turing.DynamicPPL.Model , sample :: SliceSampling.UnivariateSliceState
3135)
32- return state . transition. params
36+ return sample . transition. params
3337end
3438
3539function Turing. Inference. getparams (
@@ -43,18 +47,6 @@ function Turing.Inference.getparams(
4347)
4448 return state. transition. params
4549end
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
5850# end
5951
6052function SliceSampling. initial_sample (rng:: Random.AbstractRNG , ℓ:: Turing.LogDensityFunction )
0 commit comments