Skip to content

Commit c2a5918

Browse files
devmotionyebai
andauthored
Remove MvDiscreteNonParametric (#169)
* Remove `MvDiscreteNonParametric` * Bump version Co-authored-by: Hong Ge <[email protected]>
1 parent c4aa7ea commit c2a5918

File tree

5 files changed

+0
-221
lines changed

5 files changed

+0
-221
lines changed

src/DistributionsAD.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ include("arraydist.jl")
5353
include("filldist.jl")
5454
include("univariate.jl")
5555
include("multivariate.jl")
56-
include("mvcategorical.jl")
5756
include("matrixvariate.jl")
5857
include("flatten.jl")
5958

src/mvcategorical.jl

Lines changed: 0 additions & 159 deletions
This file was deleted.

src/reversediff.jl

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -342,17 +342,4 @@ function isprobvec(p::SubArray{<:TrackedReal, 1, <:TrackedArray{<:Real}})
342342
pdata = value(p)
343343
all(x -> x zero(x), pdata) && isapprox(sum(pdata), one(eltype(pdata)), atol = 1e-6)
344344
end
345-
346-
_mv_categorical_logpdf(ps::TrackedMatrix, x) = track(_mv_categorical_logpdf, ps, x)
347-
@grad function _mv_categorical_logpdf(ps, x)
348-
ps_data = value(ps)
349-
probs = view(ps_data, x, :)
350-
ps_grad = zero(ps_data)
351-
sum(log, probs), Δ -> begin
352-
ps_grad .= 0
353-
ps_grad[x,:] .= Δ ./ probs
354-
return (ps_grad, nothing)
355-
end
356-
end
357-
358345
end

src/tracker.jl

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -349,18 +349,6 @@ function Distributions.logpdf(
349349
end
350350
end
351351

352-
## Categorical ##
353-
354-
function Distributions.DiscreteNonParametric{T,P,Ts,Ps}(
355-
vs::Ts,
356-
ps::Ps;
357-
check_args=true,
358-
) where {T<:Real,P<:Real,Ts<:AbstractVector{T},Ps<:TrackedArray{P, 1, <:SubArray{P, 1}}}
359-
cps = ps[:]
360-
return DiscreteNonParametric{T,P,Ts,typeof(cps)}(vs, cps; check_args = check_args)
361-
end
362-
363-
364352
## Dirichlet ##
365353

366354
Distributions.Dirichlet(alpha::TrackedVector) = TuringDirichlet(alpha)
@@ -559,22 +547,6 @@ end
559547
# zero mean,, constant variance
560548
MvLogNormal(d::Int, σ::TrackedReal{<:Real}) = TuringMvLogNormal(TuringMvNormal(d, σ))
561549

562-
563-
## MvCategorical ##
564-
565-
_mv_categorical_logpdf(ps::Tracker.TrackedMatrix, x) = Tracker.track(_mv_categorical_logpdf, ps, x)
566-
Tracker.@grad function _mv_categorical_logpdf(ps, x)
567-
ps_data = Tracker.data(ps)
568-
probs = view(ps_data, x, :)
569-
ps_grad = zero(ps_data)
570-
sum(log, probs), Δ -> begin
571-
ps_grad .= 0
572-
ps_grad[x,:] .= Δ ./ probs
573-
return (ps_grad, nothing)
574-
end
575-
end
576-
577-
578550
## Wishart ##
579551

580552
function Distributions._logpdf(d::Wishart, X::TrackedMatrix)

src/univariate.jl

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,23 +54,3 @@ end
5454
quantile(d::TuringPoissonBinomial, x::Float64) = quantile(Categorical(d.pmf), x) - 1
5555
Base.minimum(d::TuringPoissonBinomial) = 0
5656
Base.maximum(d::TuringPoissonBinomial) = length(d.p)
57-
58-
59-
## Categorical ##
60-
61-
function Base.convert(
62-
::Type{Distributions.DiscreteNonParametric{T,P,Ts,Ps}},
63-
d::Distributions.DiscreteNonParametric{T,P,Ts,Ps},
64-
) where {T<:Real,P<:Real,Ts<:AbstractVector{T},Ps<:AbstractVector{P}}
65-
DiscreteNonParametric{T,P,Ts,Ps}(support(d), probs(d), check_args=false)
66-
end
67-
68-
# Fix SubArray support
69-
function Distributions.DiscreteNonParametric{T,P,Ts,Ps}(
70-
vs::Ts,
71-
ps::Ps;
72-
check_args=true,
73-
) where {T<:Real, P<:Real, Ts<:AbstractVector{T}, Ps<:SubArray{P, 1}}
74-
cps = ps[:]
75-
return DiscreteNonParametric{T,P,Ts,typeof(cps)}(vs, cps; check_args = check_args)
76-
end

0 commit comments

Comments
 (0)