[MINOR] Cleanup flaky l2svm application test (inconsistent tolerance)
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/159522a1 Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/159522a1 Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/159522a1 Branch: refs/heads/master Commit: 159522a1f08869c034ae6544be749e2695ab997a Parents: 93506b2 Author: Matthias Boehm <mboe...@gmail.com> Authored: Sun Apr 8 12:50:36 2018 -0700 Committer: Matthias Boehm <mboe...@gmail.com> Committed: Sun Apr 8 12:50:36 2018 -0700 ---------------------------------------------------------------------- .../integration/applications/L2SVMTest.java | 71 +++++++++----------- 1 file changed, 33 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/159522a1/src/test/java/org/apache/sysml/test/integration/applications/L2SVMTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/sysml/test/integration/applications/L2SVMTest.java b/src/test/java/org/apache/sysml/test/integration/applications/L2SVMTest.java index 35afb7b..eae542c 100644 --- a/src/test/java/org/apache/sysml/test/integration/applications/L2SVMTest.java +++ b/src/test/java/org/apache/sysml/test/integration/applications/L2SVMTest.java @@ -33,7 +33,6 @@ import org.apache.sysml.test.utils.TestUtils; public abstract class L2SVMTest extends AutomatedTestBase { - protected final static String TEST_DIR = "applications/l2svm/"; protected final static String TEST_NAME = "L2SVM"; protected String TEST_CLASS_DIR = TEST_DIR + L2SVMTest.class.getSimpleName() + "/"; @@ -41,7 +40,7 @@ public abstract class L2SVMTest extends AutomatedTestBase protected int numRecords, numFeatures; protected double sparsity; protected boolean intercept; - + public L2SVMTest(int rows, int cols, double sp, boolean intercept) { numRecords = rows; numFeatures = cols; @@ -50,35 +49,34 @@ public abstract class L2SVMTest extends AutomatedTestBase } @Parameters - public static Collection<Object[]> data() { - Object[][] data = new Object[][] { - //sparse tests (sparsity=0.01) - {100, 50, 0.01, false}, {1000, 500, 0.01, false}, {10000, 750, 0.01, false}, {10000, 750, 0.01, true}, {100000, 1000, 0.01, false}, - //dense tests (sparsity=0.7) - {100, 50, 0.7, false}, {1000, 500, 0.7, false}, {1000, 500, 0.7, true}, {10000, 750, 0.7, false} }; - return Arrays.asList(data); - } + public static Collection<Object[]> data() { + return Arrays.asList(new Object[][] { + //sparse tests (sparsity=0.01) + {100, 50, 0.01, false}, {1000, 500, 0.01, false}, {10000, 750, 0.01, false}, {10000, 750, 0.01, true}, {100000, 1000, 0.01, false}, + //dense tests (sparsity=0.7) + {100, 50, 0.7, false}, {1000, 500, 0.7, false}, {1000, 500, 0.7, true}, {10000, 750, 0.7, false} }); + } @Override public void setUp() { - addTestConfiguration(TEST_CLASS_DIR, TEST_NAME); + addTestConfiguration(TEST_CLASS_DIR, TEST_NAME); } protected void testL2SVM(ScriptType scriptType) { - System.out.println("------------ BEGIN " + TEST_NAME + " " + scriptType + " TEST WITH {" + numRecords + ", " + numFeatures - + ", " + sparsity + ", " + intercept + "} ------------"); + System.out.println("------------ BEGIN " + TEST_NAME + " " + scriptType + + " TEST WITH {" + numRecords + ", " + numFeatures + + ", " + sparsity + ", " + intercept + "} ------------"); this.scriptType = scriptType; - int rows = numRecords; - int cols = numFeatures; - double epsilon = 1.0e-8; - double lambda = 1.0; - int maxiterations = 3; - int maxNumberOfMRJobs = 21; - - getAndLoadTestConfiguration(TEST_NAME); - + int cols = numFeatures; + double epsilon = 1e-10; + double lambda = 1.0; + int maxiterations = 3; + int maxNumberOfMRJobs = 21; + + getAndLoadTestConfiguration(TEST_NAME); + List<String> proArgs = new ArrayList<String>(); if (scriptType == ScriptType.PYDML) { proArgs.add("-python"); @@ -94,26 +92,23 @@ public abstract class L2SVMTest extends AutomatedTestBase proArgs.add("model=" + output("w")); proArgs.add("Log=" + output("Log")); programArgs = proArgs.toArray(new String[proArgs.size()]); - fullDMLScriptName = getScript(); - rCmd = getRCmd(inputDir(), (intercept ? Integer.toString(1) : Integer.toString(0)), Double.toString(epsilon), Double.toString(lambda), Integer.toString(maxiterations), expectedDir()); - double[][] X = getRandomMatrix(rows, cols, 0, 1, sparsity, -1); - double[][] Y = getRandomMatrix(rows, 1, -1, 1, 1, -1); - for(int i=0; i<rows; i++) - Y[i][0] = (Y[i][0] > 0) ? 1 : -1; - - writeInputMatrixWithMTD("X", X, true); - writeInputMatrixWithMTD("Y", Y, true); - - runTest(true, EXCEPTION_NOT_EXPECTED, null, maxNumberOfMRJobs); - + double[][] X = getRandomMatrix(rows, cols, 0, 1, sparsity, -1); + double[][] Y = getRandomMatrix(rows, 1, -1, 1, 1, -1); + for(int i=0; i<rows; i++) + Y[i][0] = (Y[i][0] > 0) ? 1 : -1; + + writeInputMatrixWithMTD("X", X, true); + writeInputMatrixWithMTD("Y", Y, true); + runTest(true, EXCEPTION_NOT_EXPECTED, null, maxNumberOfMRJobs); + runRScript(true); - + HashMap<CellIndex, Double> wR = readRMatrixFromFS("w"); - HashMap<CellIndex, Double> wSYSTEMML= readDMLMatrixFromHDFS("w"); - TestUtils.compareMatrices(wR, wSYSTEMML, Math.pow(10, -12), "wR", "wSYSTEMML"); - } + HashMap<CellIndex, Double> wSYSTEMML= readDMLMatrixFromHDFS("w"); + TestUtils.compareMatrices(wR, wSYSTEMML, epsilon, "wR", "wSYSTEMML"); + } }