From ec6953806d02ea189cc9fb5ba83ada05eca7d28c Mon Sep 17 00:00:00 2001 From: soumith Date: Wed, 27 May 2015 21:42:59 -0700 Subject: Volumetric Average Pooling + doc + unit test, better performance for Volumetric Max Pooling --- VolumetricAveragePooling.lua | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 VolumetricAveragePooling.lua (limited to 'VolumetricAveragePooling.lua') diff --git a/VolumetricAveragePooling.lua b/VolumetricAveragePooling.lua new file mode 100644 index 0000000..1fc0ec9 --- /dev/null +++ b/VolumetricAveragePooling.lua @@ -0,0 +1,34 @@ +local VolumetricAveragePooling, parent = torch.class( + 'nn.VolumetricAveragePooling', 'nn.Module') + +function VolumetricAveragePooling:__init(kT, kW, kH, dT, dW, dH) + parent.__init(self) + + dT = dT or kT + dW = dW or kW + dH = dH or kH + + self.kT = kT + self.kH = kH + self.kW = kW + self.dT = dT + self.dW = dW + self.dH = dH +end + +function VolumetricAveragePooling:updateOutput(input) + input.nn.VolumetricAveragePooling_updateOutput(self, input) + return self.output +end + +function VolumetricAveragePooling:updateGradInput(input, gradOutput) + input.nn.VolumetricAveragePooling_updateGradInput(self, input, gradOutput) + return self.gradInput +end + +function VolumetricAveragePooling:empty() + self.gradInput:resize() + self.gradInput:storage():resize(0) + self.output:resize() + self.output:storage():resize(0) +end -- cgit v1.2.3