From b7ce283b18fe28445dc9527fa1c04b1d9b8f36d8 Mon Sep 17 00:00:00 2001 From: Yu Yang Date: Fri, 24 Feb 2017 13:25:49 +0800 Subject: [PATCH] Expose Evaluator's getNames/getValue to SWIG --- paddle/api/Evaluator.cpp | 9 +++++++++ paddle/api/PaddleAPI.h | 2 ++ paddle/api/test/testTrain.py | 7 ++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/paddle/api/Evaluator.cpp b/paddle/api/Evaluator.cpp index f9656db19a..681e3a3809 100644 --- a/paddle/api/Evaluator.cpp +++ b/paddle/api/Evaluator.cpp @@ -33,3 +33,12 @@ std::vector Evaluator::getNames() const { m->rawPtr->getNames(&retv); return retv; } + +double Evaluator::getValue(const std::string name) const { + paddle::Error err; + double v = m->rawPtr->getValue(name, &err); + if (err) { + throw std::runtime_error(err.msg()); + } + return v; +} diff --git a/paddle/api/PaddleAPI.h b/paddle/api/PaddleAPI.h index f5dcfcf94c..80c50cdb08 100644 --- a/paddle/api/PaddleAPI.h +++ b/paddle/api/PaddleAPI.h @@ -902,6 +902,8 @@ public: std::vector getNames() const; + double getValue(const std::string name) const; + private: EvaluatorPrivate* m; diff --git a/paddle/api/test/testTrain.py b/paddle/api/test/testTrain.py index a90d15c272..7061a4c43b 100644 --- a/paddle/api/test/testTrain.py +++ b/paddle/api/test/testTrain.py @@ -89,9 +89,14 @@ def main(): except Exception as e: print e + ev = m.makeEvaluator() + ev.start() m.forwardBackward(inArgs, outArgs, swig_paddle.PASS_TRAIN, update_callback) - + m.eval(ev) + ev.finish() + for name in ev.getNames(): + print name, ev.getValue(name) for optimizer in optimizers: optimizer.finishBatch() -- GitLab