You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by ni...@apache.org on 2017/08/29 21:38:41 UTC
systemml git commit: [MINOR] Allow users to set explain level of
mllearn algorithms
Repository: systemml
Updated Branches:
refs/heads/master 9a8421d4c -> bd1946a3d
[MINOR] Allow users to set explain level of mllearn algorithms
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/bd1946a3
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/bd1946a3
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/bd1946a3
Branch: refs/heads/master
Commit: bd1946a3d91f3661fc6572bbc6c9500a59992044
Parents: 9a8421d
Author: Niketan Pansare <np...@us.ibm.com>
Authored: Tue Aug 29 14:37:19 2017 -0700
Committer: Niketan Pansare <np...@us.ibm.com>
Committed: Tue Aug 29 14:37:19 2017 -0700
----------------------------------------------------------------------
src/main/python/systemml/mllearn/estimators.py | 13 +++++++++++++
.../apache/sysml/api/ml/BaseSystemMLClassifier.scala | 8 ++++++--
2 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/bd1946a3/src/main/python/systemml/mllearn/estimators.py
----------------------------------------------------------------------
diff --git a/src/main/python/systemml/mllearn/estimators.py b/src/main/python/systemml/mllearn/estimators.py
index 44c6125..7443968 100644
--- a/src/main/python/systemml/mllearn/estimators.py
+++ b/src/main/python/systemml/mllearn/estimators.py
@@ -99,6 +99,19 @@ class BaseSystemMLEstimator(Estimator):
"""
self.estimator.setExplain(explain)
return self
+
+ def setExplainLevel(self, explainLevel):
+ """
+ Set explain level. Mainly intended for developers.
+
+ Parameters
+ ----------
+ explainLevel: string
+ Can be one of "hops", "runtime", "recompile_hops", "recompile_runtime"
+ or in the above in upper case.
+ """
+ self.estimator.setExplainLevel(explainLevel)
+ return self
def setStatistics(self, statistics):
"""
http://git-wip-us.apache.org/repos/asf/systemml/blob/bd1946a3/src/main/scala/org/apache/sysml/api/ml/BaseSystemMLClassifier.scala
----------------------------------------------------------------------
diff --git a/src/main/scala/org/apache/sysml/api/ml/BaseSystemMLClassifier.scala b/src/main/scala/org/apache/sysml/api/ml/BaseSystemMLClassifier.scala
index 8b4817f..f42acb5 100644
--- a/src/main/scala/org/apache/sysml/api/ml/BaseSystemMLClassifier.scala
+++ b/src/main/scala/org/apache/sysml/api/ml/BaseSystemMLClassifier.scala
@@ -108,23 +108,27 @@ trait BaseSystemMLEstimatorOrModel {
var enableGPU:Boolean = false
var forceGPU:Boolean = false
var explain:Boolean = false
+ var explainLevel:String = "runtime"
var statistics:Boolean = false
var statisticsMaxHeavyHitters:Int = 10
val config:HashMap[String, String] = new HashMap[String, String]()
def setGPU(enableGPU1:Boolean):BaseSystemMLEstimatorOrModel = { enableGPU = enableGPU1; this}
def setForceGPU(enableGPU1:Boolean):BaseSystemMLEstimatorOrModel = { forceGPU = enableGPU1; this}
def setExplain(explain1:Boolean):BaseSystemMLEstimatorOrModel = { explain = explain1; this}
+ def setExplainLevel(explainLevel1:String):BaseSystemMLEstimatorOrModel = { explainLevel = explainLevel1; this }
def setStatistics(statistics1:Boolean):BaseSystemMLEstimatorOrModel = { statistics = statistics1; this}
def setStatisticsMaxHeavyHitters(statisticsMaxHeavyHitters1:Int):BaseSystemMLEstimatorOrModel = { statisticsMaxHeavyHitters = statisticsMaxHeavyHitters1; this}
def setConfigProperty(key:String, value:String):BaseSystemMLEstimatorOrModel = { config.put(key, value); this}
def updateML(ml:MLContext):Unit = {
ml.setGPU(enableGPU); ml.setForceGPU(forceGPU);
- ml.setExplain(explain); ml.setStatistics(statistics); ml.setStatisticsMaxHeavyHitters(statisticsMaxHeavyHitters);
+ ml.setExplain(explain); ml.setExplainLevel(explainLevel);
+ ml.setStatistics(statistics); ml.setStatisticsMaxHeavyHitters(statisticsMaxHeavyHitters);
config.map(x => ml.setConfigProperty(x._1, x._2))
}
def copyProperties(other:BaseSystemMLEstimatorOrModel):BaseSystemMLEstimatorOrModel = {
other.setGPU(enableGPU); other.setForceGPU(forceGPU);
- other.setExplain(explain); other.setStatistics(statistics); other.setStatisticsMaxHeavyHitters(statisticsMaxHeavyHitters);
+ other.setExplain(explain); other.setExplainLevel(explainLevel);
+ other.setStatistics(statistics); other.setStatisticsMaxHeavyHitters(statisticsMaxHeavyHitters);
config.map(x => other.setConfigProperty(x._1, x._2))
return other
}