Skip to content

Commit fa86b16

Browse files
authored
Added comments to lpnormpool
1 parent df035ec commit fa86b16

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/impl/pooling_direct.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,14 @@ for name in (:max, :mean, :lpnorm)
9595
elseif $(name == :mean)
9696
m += x[input_kw, input_kh, input_kd, c, batch_idx]
9797
elseif $(name == :lpnorm)
98-
# y = (∑ᵢ xᵢ^p)^(1 / p), here to calculate ∑ᵢ xᵢ^p
98+
# y = (∑ᵢ |xᵢ|^p)^(1 / p), here to calculate ∑ᵢ |xᵢ|^p
9999
m += abs(x[input_kw, input_kh, input_kd, c, batch_idx])^p
100100
else
101101
error("Unimplemented codegen path")
102102
end
103103
end
104104

105-
# for lpnormpool, y = (∑ᵢ xᵢ^p)^(1 / p)
105+
# for lpnormpool, y = (∑ᵢ |xᵢ|^p)^(1 / p)
106106
m = $(name == :lpnorm) ? m^(T(1) / p) : m
107107

108108
y[w, h, d, c, batch_idx] = _alpha * m # + _beta * y[w, h, d, c, batch_idx]
@@ -263,7 +263,7 @@ for name in (:max, :mean, :lpnorm)
263263
# Either does meanpool :(
264264
dx[input_kw, input_kh, input_kd, c, batch_idx] += dy_idx * _alpha
265265
elseif $(name == :lpnorm)
266-
# y = (∑ᵢ xᵢ^p)^(1 / p), ∂y/∂xᵢ = xᵢ^(p-1) × y^(1-p)
266+
# y = (∑ᵢ |xᵢ|^p)^(1 / p), ∂y/∂xᵢ = |xᵢ|^(p-1) × y^(1-p) × sign(xᵢ)
267267
xv = x[input_kw, input_kh, input_kd, c, batch_idx]
268268
grad = abs(xv)^(p-1) * y_idx^(1-p) * sign(xv)
269269
dx[input_kw, input_kh, input_kd, c, batch_idx] += dy_idx * grad

0 commit comments

Comments
 (0)