@@ -6,6 +6,7 @@ for name in (:max, :mean)
6
6
@eval function $ ((Symbol (" $(name) pool_direct!" )))(
7
7
y:: AbstractArray{T,5} , x:: AbstractArray{T,5} ,
8
8
pdims:: PoolDims ; alpha:: T = T (1 ), beta:: T = T (0 )) where {T}
9
+ @assert beta == T (0 ) " beta not supported yet"
9
10
check_dims (size (x), size (y), pdims)
10
11
11
12
width, height, depth = input_size (pdims)
@@ -176,7 +177,7 @@ for name in (:max, :mean)
176
177
# If it's equal; this is the one we chose. We only choose one per
177
178
# kernel window, all other elements of dx must be zero.
178
179
if y_idx == x[x_idxs... ] && ! maxpool_already_chose
179
- dx[x_idxs... ] = dy_idx* alpha + beta* dx[x_idxs... ]
180
+ dx[x_idxs... ] + = dy_idx* alpha + beta* dx[x_idxs... ]
180
181
maxpool_already_chose = true
181
182
# Maxpooling does not support `beta` right now. :(
182
183
# else
@@ -228,7 +229,7 @@ for name in (:max, :mean)
228
229
x_idxs = (input_kw, input_kh, input_kd, c, batch_idx)
229
230
if $ (name == :max )
230
231
if y_idx == x[x_idxs... ] && ! maxpool_already_chose
231
- dx[x_idxs... ] = dy_idx* alpha + beta* dx[x_idxs... ]
232
+ dx[x_idxs... ] + = dy_idx* alpha + beta* dx[x_idxs... ]
232
233
maxpool_already_chose = true
233
234
# else
234
235
# dx[x_idxs...] = T(0) + beta*dx[x_idxs...]
0 commit comments