From 2a7a45dd813c94fb2831f3197c5f0a388035ab4a Mon Sep 17 00:00:00 2001 From: koray kavukcuoglu Date: Tue, 15 Oct 2013 01:21:26 +0100 Subject: add 3D max pooling --- test/test.lua | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/test.lua b/test/test.lua index 1eb92ad..dd6be22 100644 --- a/test/test.lua +++ b/test/test.lua @@ -1300,10 +1300,10 @@ function nntest.TemporalSubSampling() end function nntest.TemporalMaxPooling() - local from = math.random(1,10) - local ki = math.random(1,10) - local si = math.random(1,4) - local outi = math.random(10,20) + local from = math.random(10,10) + local ki = math.random(5,10) + local si = math.random(1,2) + local outi = math.random(50,90) local ini = (outi-1)*si+ki local module = nn.TemporalMaxPooling(ki, si) local input = torch.Tensor(ini, from):zero() @@ -1364,6 +1364,32 @@ function nntest.VolumetricConvolution() mytester:asserteq(0, berr, torch.typename(module) .. ' - i/o backward err ') end +function nntest.VolumetricMaxPooling() + local from = math.random(2,5) + local to = from + local kt = math.random(3,7) + local ki = math.random(3,7) + local kj = math.random(3,7) + local st = math.random(2,4) + local si = math.random(2,4) + local sj = math.random(2,4) + local outt = math.random(3,7) + local outi = math.random(3,7) + local outj = math.random(3,7) + local int = (outt-1)*st+kt + local ini = (outi-1)*si+ki + local inj = (outj-1)*sj+kj + local module = nn.VolumetricMaxPooling(kt, ki, kj, st, si, sj) + local input = torch.Tensor(from, int, inj, ini):zero() + + local err = jac.testJacobian(module, input) + mytester:assertlt(err, precision, 'error on state ') + + local ferr, berr = jac.testIO(module, input) + mytester:asserteq(0, ferr, torch.typename(module) .. ' - i/o forward err ') + mytester:asserteq(0, berr, torch.typename(module) .. ' - i/o backward err ') +end + function nntest.Module_getParameters_1() local n = nn.Sequential() n:add( nn.Linear(10,10) ) -- cgit v1.2.3