diff options
author | Clement Farabet <clement.farabet@gmail.com> | 2011-07-06 05:41:09 +0400 |
---|---|---|
committer | Clement Farabet <clement.farabet@gmail.com> | 2011-07-06 05:41:09 +0400 |
commit | 951ed4fd0b11aeb95c6d3958704cfb10d25e0bef (patch) | |
tree | 5f2a73f26770bec68c09100bfc2e4b0d7946c1b0 /Sqrt.lua | |
parent | a74efe158d6c66929a8b8849c257a384f6de6aaf (diff) |
Added new modules.
Diffstat (limited to 'Sqrt.lua')
-rw-r--r-- | Sqrt.lua | 34 |
1 files changed, 34 insertions, 0 deletions
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 |