From 4df3893abd1b9f840f1d9a8c1859799ccbf941de Mon Sep 17 00:00:00 2001 From: Ronan Collobert Date: Wed, 25 Jan 2012 14:55:20 +0100 Subject: initial revamp of torch7 tree --- Copy.lua | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Copy.lua (limited to 'Copy.lua') diff --git a/Copy.lua b/Copy.lua new file mode 100644 index 0000000..7b6eeb3 --- /dev/null +++ b/Copy.lua @@ -0,0 +1,33 @@ +local Copy, parent = torch.class('nn.Copy', 'nn.Module') + +function Copy:__init(intype, outtype) + intype = intype or torch.getmetatable(torch.Tensor.__typename) + outtype = outtype or torch.getmetatable(torch.Tensor.__typename) + + parent.__init(self) + self.gradInput = torch.getmetatable(intype).new() + self.output = torch.getmetatable(outtype).new() + + if intype == outtype then + + self.updateOutput = function(self, input) + self.output = input + return input + end + + self.updateGradInput = function(self, input, gradOutput) + self.gradInput = gradOutput + return gradOutput + end + end +end + +function Copy:updateOutput(input) + self.output:resize(input:size()):copy(input) + return self.output +end + +function Copy:updateGradInput(input, gradOutput) + self.gradInput:resize(gradOutput:size()):copy(gradOutput) + return self.gradInput +end -- cgit v1.2.3