Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/clementfarabet/lua---nnx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClement Farabet <clement.farabet@gmail.com>2011-07-06 05:41:09 +0400
committerClement Farabet <clement.farabet@gmail.com>2011-07-06 05:41:09 +0400
commit951ed4fd0b11aeb95c6d3958704cfb10d25e0bef (patch)
tree5f2a73f26770bec68c09100bfc2e4b0d7946c1b0 /Sqrt.lua
parenta74efe158d6c66929a8b8849c257a384f6de6aaf (diff)
Added new modules.
Diffstat (limited to 'Sqrt.lua')
-rw-r--r--Sqrt.lua34
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