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

github.com/torch/nn.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Criterion.lua6
-rw-r--r--Module.lua12
2 files changed, 17 insertions, 1 deletions
diff --git a/Criterion.lua b/Criterion.lua
index 6513414..dec514c 100644
--- a/Criterion.lua
+++ b/Criterion.lua
@@ -49,3 +49,9 @@ end
function Criterion:cuda()
return self:type('torch.CudaTensor')
end
+
+function Criterion:__call__(input, target)
+ self.output = self:forward(input, target)
+ self.gradInput = self:backward(input, target)
+ return self.output, self.gradInput
+end
diff --git a/Module.lua b/Module.lua
index 98ee86c..dd61dc6 100644
--- a/Module.lua
+++ b/Module.lua
@@ -22,7 +22,7 @@ function Module:updateOutput(input)
end
function Module:forward(input)
- return self:updateOutput(input, target)
+ return self:updateOutput(input)
end
function Module:backward(input, gradOutput)
@@ -212,3 +212,13 @@ function Module:getParameters()
-- return new flat vector that contains all discrete parameters
return flatParameters, flatGradParameters
end
+
+function Module:__call__(input, gradOutput)
+ self:forward(input)
+ if gradOutput then
+ self:backward(input, gradOutput)
+ return self.output, self.gradInput
+ else
+ return self.output
+ end
+end