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
diff options
context:
space:
mode:
authorClement Farabet <clement.farabet@gmail.com>2014-07-04 07:06:24 +0400
committerClement Farabet <clement.farabet@gmail.com>2014-07-04 07:06:24 +0400
commit5b640df933ac92eafb7a9cfa72a39506f261ee74 (patch)
treef7a60a6b3eae59ca350478c88bf042b73f142e1b
parentd5c68692549dbcdfc84dd6a0d6255cdc8f1518b9 (diff)
Patched accGradParameters to avoid doing dev->host copy (CUDA)
-rw-r--r--SpatialConvolutionCUDA.lua5
1 files changed, 2 insertions, 3 deletions
diff --git a/SpatialConvolutionCUDA.lua b/SpatialConvolutionCUDA.lua
index baa79af..cdb22b3 100644
--- a/SpatialConvolutionCUDA.lua
+++ b/SpatialConvolutionCUDA.lua
@@ -55,9 +55,8 @@ function SpatialConvolutionCUDA:accGradParameters(input, gradOutput, scale)
if self.partialSum > 0 then
self.gradWeight:add(self.gradWeightPartial:sum(1):resizeAs(self.gradWeight))
end
- for i = 1,self.nOutputPlane do
- self.gradBias:narrow(1,i,1):add(scale * gradOutput[i]:sum() )
- end
+ local sums = gradOutput:new():resize(gradOutput:size(1), gradOutput:size(2)*gradOutput:size(3)*gradOutput:size(4)):sum(2)
+ self.gradBias:add(scale, sums)
end
-- this routine copies weight+bias from a regular SpatialConvolution module