From 441aa30ea8d7f710c5776be605d4d7cf5746ddc0 Mon Sep 17 00:00:00 2001 From: Clement Farabet Date: Fri, 22 Mar 2013 23:18:19 -0400 Subject: Sped up getParameters() in simple situations. --- Module.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Module.lua b/Module.lua index e9659e4..084db14 100644 --- a/Module.lua +++ b/Module.lua @@ -192,8 +192,12 @@ function Module:getParameters() local k, v = unpack(storageAndOffset) flatParameters[{{v+1,v+k:size()}}]:copy(Tensor():set(k)) end - for k = 1,flatUsedParameters:nElement() do - flatUsedParameters[k] = flatParameters[k+cumSumOfHoles[k] ] + if cumSumOfHoles:sum() == 0 then + flatUsedParameters:copy(flatParameters) + else + for k = 1,flatUsedParameters:nElement() do + flatUsedParameters[k] = flatParameters[k+cumSumOfHoles[k]] + end end return flatUsedParameters end -- cgit v1.2.3