From 951ed4fd0b11aeb95c6d3958704cfb10d25e0bef Mon Sep 17 00:00:00 2001 From: Clement Farabet Date: Tue, 5 Jul 2011 21:41:09 -0400 Subject: Added new modules. --- Sqrt.lua | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Sqrt.lua (limited to 'Sqrt.lua') diff --git a/Sqrt.lua b/Sqrt.lua new file mode 100644 index 0000000..4c0427b --- /dev/null +++ b/Sqrt.lua @@ -0,0 +1,34 @@ + +local Sqrt, parent = torch.class('nn.Sqrt','nn.Module') + +function Sqrt:__init(args) + parent.__init(self) + if args then + error(xlua.usage('nn.Sqrt', + 'a simple component-wise mapping: sqrt()', + 'sq = nn.Sqrt()\n'.. + 'sqrt = sq:forward(sometensor)', + {type='nil', help='no arg required'})) + end +end + +function Sqrt:forward(input) + self.output:resizeAs(input):copy(input) + self.output:sqrt() + return self.output +end + +function Sqrt:backward(input, gradOutput) + self.gradInput:resizeAs(input):copy(gradOutput) + self.gradInput:cdiv(self.output):mul(0.5) + return self.gradInput +end + + +function Sqrt:write(file) + parent.write(self,file) +end + +function Sqrt:read(file) + parent.read(self,file) +end -- cgit v1.2.3