Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/torch/nn.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornicholas-leonard <nick@nikopia.org>2014-11-02 04:54:43 +0300
committernicholas-leonard <nick@nikopia.org>2014-11-04 01:12:09 +0300
commita597418786d95b2c8e04c8147ae4afb05c5a9d6c (patch)
treef64a02e1d07c0f8fb1a4c9294a6c0f8897b8595a /test
parent84317af444b2fb5c7d917e123b8950bf6b633562 (diff)
nn.Add works with batches
Diffstat (limited to 'test')
-rw-r--r--test/test.lua54
1 files changed, 38 insertions, 16 deletions
diff --git a/test/test.lua b/test/test.lua
index 022ee8a..0ae0e61 100644
--- a/test/test.lua
+++ b/test/test.lua
@@ -23,28 +23,50 @@ end
function nntest.Add()
+ local inj_vals = {math.random(3,5), 1} -- Also test the inj = 1 spatial case
local ini = math.random(3,5)
- local inj = math.random(3,5)
local ink = math.random(3,5)
- local input = torch.Tensor(ini,inj,ink):zero()
- local module = nn.Add(ini*inj*ink)
- local err = jac.testJacobian(module,input)
- mytester:assertlt(err,precision, 'error on state ')
- local err = jac.testJacobianParameters(module, input, module.bias, module.gradBias)
- mytester:assertlt(err,precision, 'error on bias ')
+ for ind, inj in pairs(inj_vals) do
+ local input = torch.Tensor(ini,inj,ink):zero()
+ local module = nn.Add(ini,inj,ink)
- local err = jac.testJacobianUpdateParameters(module, input, module.bias)
- mytester:assertlt(err,precision, 'error on bias [direct update]')
+ -- 1D
+ local err = jac.testJacobian(module,input)
+ mytester:assertlt(err,precision, 'error on state ')
- for t,err in pairs(jac.testAllUpdate(module, input, 'bias', 'gradBias')) do
- mytester:assertlt(err, precision, string.format(
- 'error on bias [%s]', t))
- end
+ local err = jac.testJacobianParameters(module, input, module.bias, module.gradBias)
+ mytester:assertlt(err,precision, 'error on bias ')
- local ferr,berr = jac.testIO(module,input)
- mytester:asserteq(ferr, 0, torch.typename(module) .. ' - i/o forward err ')
- mytester:asserteq(berr, 0, torch.typename(module) .. ' - i/o backward err ')
+ local err = jac.testJacobianUpdateParameters(module, input, module.bias)
+ mytester:assertlt(err,precision, 'error on bias [direct update] ')
+
+ for t,err in pairs(jac.testAllUpdate(module, input, 'bias', 'gradBias')) do
+ mytester:assertlt(err, precision, string.format('error on bias [%s]', t))
+ end
+
+ -- 2D
+ local nframe = math.random(50,70)
+ local input = torch.Tensor(nframe, ini,inj,ink):zero()
+
+ local err = jac.testJacobian(module,input)
+ mytester:assertlt(err,precision, 'error on state ')
+
+ local err = jac.testJacobianParameters(module, input, module.bias, module.gradBias)
+ mytester:assertlt(err,precision, 'error on bias ')
+
+ local err = jac.testJacobianUpdateParameters(module, input, module.bias)
+ mytester:assertlt(err,precision, 'error on bias [direct update] ')
+
+ for t,err in pairs(jac.testAllUpdate(module, input, 'bias', 'gradBias')) do
+ mytester:assertlt(err, precision, string.format('error on bias [%s]', t))
+ end
+
+ -- IO
+ local ferr,berr = jac.testIO(module,input)
+ mytester:asserteq(ferr, 0, torch.typename(module) .. ' - i/o forward err ')
+ mytester:asserteq(berr, 0, torch.typename(module) .. ' - i/o backward err ')
+ end
end
function nntest.CMul()