diff options
Diffstat (limited to 'Select.lua')
-rw-r--r-- | Select.lua | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Select.lua b/Select.lua new file mode 100644 index 0000000..acf8e06 --- /dev/null +++ b/Select.lua @@ -0,0 +1,20 @@ +local Select, parent = torch.class('nn.Select', 'nn.Module') + +function Select:__init(dimension,index) + parent.__init(self) + self.dimension = dimension + self.index = index +end + +function Select:updateOutput(input) + local output = input:select(self.dimension,self.index); + self.output:resizeAs(output) + return self.output:copy(output) +end + +function Select:updateGradInput(input, gradOutput) + self.gradInput:resizeAs(input) + self.gradInput:zero() + self.gradInput:select(self.dimension,self.index):copy(gradOutput) + return self.gradInput +end |