提交 218c02f9 authored 作者: Li's avatar Li

more corrections, grad not work still

上级 1fd24723
......@@ -223,7 +223,7 @@ class DownsampleFactorMax(Op):
# pad the image
fill = x.min()-1
y = numpy.zeros((x.shape[0], x.shape[1], img_rows, img_cols)) + fill
y[:, :, pad_h:(y.shape[2]-pad_h), pad_w:(y.shape[3]-pad_w)] = x
y[:, :, pad_h:(img_rows-pad_h), pad_w:(img_cols-pad_w)] = x
# max pooling
for n in xrange(x.shape[0]):
for k in xrange(x.shape[1]):
......@@ -374,7 +374,7 @@ class DownsampleFactorMaxGrad(Op):
# pad the image
fill = x.min()-1
y = numpy.zeros((x.shape[0], x.shape[1], img_rows, img_cols)) + fill
y[:, :, pad_h:(y.shape[2]-pad_h), pad_w:(y.shape[3]-pad_w)] = x
y[:, :, pad_h:(img_rows-pad_h), pad_w:(img_cols-pad_w)] = x
gx = numpy.zeros_like(y)
for n in xrange(x.shape[0]):
for k in xrange(x.shape[1]):
......@@ -389,7 +389,7 @@ class DownsampleFactorMaxGrad(Op):
if (maxout[n, k, r, c] == y[n, k, row_ind, col_ind]):
gx[n, k, row_ind, col_ind] += gz[n, k, r, c]
# unpad the image
gx = gx[:, :, pad_h:(y.shape[2]-pad_h), pad_w:(y.shape[3]-pad_w)]
gx = gx[:, :, pad_h:(img_rows-pad_h), pad_w:(img_cols-pad_w)]
gx_stg[0] = gx
def infer_shape(self, node, in_shapes):
......
......@@ -265,7 +265,7 @@ class TestDownsampleFactorMax(utt.InferShapeTester):
def test_DownsampleFactorMaxPaddingStride_grad(self):
rng = numpy.random.RandomState(utt.fetch_seed())
imval = rng.rand(10, 10, 10, 10) * 10.0
imval = rng.rand(1, 1, 10, 10) * 10.0
maxpoolsize = (5, 3)
stridesize = (3, 2)
paddingsize = (2,2)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论