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

github.com/soumith/cudnn.torch.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSoumith Chintala <soumith@gmail.com>2014-09-26 20:14:36 +0400
committerSoumith Chintala <soumith@gmail.com>2014-09-26 20:47:31 +0400
commit2da6353dc28457c5b8dd758d552026c9aebdbcba (patch)
tree05e4b1ea5985e3f91c48d716004400fb44957231 /SpatialMaxPooling.lua
parent440ea8adeda929efc637316585446eb9996bd6fe (diff)
adding serialization to unit tests and fixing descriptor checks. Fixes #4
Diffstat (limited to 'SpatialMaxPooling.lua')
-rw-r--r--SpatialMaxPooling.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/SpatialMaxPooling.lua b/SpatialMaxPooling.lua
index 6b211e7..2687a3e 100644
--- a/SpatialMaxPooling.lua
+++ b/SpatialMaxPooling.lua
@@ -25,7 +25,8 @@ function SpatialMaxPooling:resetPoolDescriptors()
end
function SpatialMaxPooling:createIODescriptors(input)
- if input:size(1) ~= self.iSize[1] or input:size(2) ~= self.iSize[2]
+ if not self.iDesc or not self.oDesc or
+ input:size(1) ~= self.iSize[1] or input:size(2) ~= self.iSize[2]
or input:size(3) ~= self.iSize[3] or input:size(4) ~= self.iSize[4] then
self.iSize = input:size()
-- resize gradInput
@@ -54,6 +55,8 @@ end
function SpatialMaxPooling:updateGradInput(input, gradOutput)
assert(input:dim() == 4 and input:isContiguous());
assert(gradOutput:dim() == 4 and gradOutput:isContiguous());
+ if not self.poolDesc then self:resetPoolDescriptors() end
+ self:createIODescriptors(input)
errcheck('cudnnPoolingBackward', cudnn.handle[cutorch.getDevice()-1], self.poolDesc[0],
self.oDesc[0], self.output:data(),
self.oDesc[0], gradOutput:data(),