Search in sources :

Example 51 with Script

use of org.apache.sysml.api.mlcontext.Script in project incubator-systemml by apache.

the class MLContextTest method testInputTupleSeqWithMetadataDML.

@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testInputTupleSeqWithMetadataDML() {
    System.out.println("MLContextTest - Tuple sequence with metadata DML");
    List<String> list1 = new ArrayList<String>();
    list1.add("1,2");
    list1.add("3,4");
    JavaRDD<String> javaRDD1 = sc.parallelize(list1);
    RDD<String> rdd1 = JavaRDD.toRDD(javaRDD1);
    List<String> list2 = new ArrayList<String>();
    list2.add("5,6");
    list2.add("7,8");
    JavaRDD<String> javaRDD2 = sc.parallelize(list2);
    RDD<String> rdd2 = JavaRDD.toRDD(javaRDD2);
    MatrixMetadata mm1 = new MatrixMetadata(2, 2);
    MatrixMetadata mm2 = new MatrixMetadata(2, 2);
    Tuple3 tuple1 = new Tuple3("m1", rdd1, mm1);
    Tuple3 tuple2 = new Tuple3("m2", rdd2, mm2);
    List tupleList = new ArrayList();
    tupleList.add(tuple1);
    tupleList.add(tuple2);
    Seq seq = JavaConversions.asScalaBuffer(tupleList).toSeq();
    Script script = dml("print('sums: ' + sum(m1) + ' ' + sum(m2));").in(seq);
    setExpectedStdOut("sums: 10.0 26.0");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) Tuple3(scala.Tuple3) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) MatrixMetadata(org.apache.sysml.api.mlcontext.MatrixMetadata) Seq(scala.collection.Seq) Test(org.junit.Test)

Example 52 with Script

use of org.apache.sysml.api.mlcontext.Script in project incubator-systemml by apache.

the class MLContextTest method testFunctionNoReturnValuePYDML.

@Test
public void testFunctionNoReturnValuePYDML() {
    System.out.println("MLContextTest - function with no return value PYDML");
    String s = "def hello():\n\tprint('no return value')\nhello()";
    Script script = pydml(s);
    setExpectedStdOut("no return value");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) Test(org.junit.Test)

Example 53 with Script

use of org.apache.sysml.api.mlcontext.Script in project incubator-systemml by apache.

the class MLContextTest method testDataFrameSumPYDMLVectorWithIDColumn.

@Test
public void testDataFrameSumPYDMLVectorWithIDColumn() {
    System.out.println("MLContextTest - DataFrame sum PYDML, vector with ID column");
    List<Tuple2<Double, Vector>> list = new ArrayList<Tuple2<Double, Vector>>();
    list.add(new Tuple2<Double, Vector>(1.0, Vectors.dense(1.0, 2.0, 3.0)));
    list.add(new Tuple2<Double, Vector>(2.0, Vectors.dense(4.0, 5.0, 6.0)));
    list.add(new Tuple2<Double, Vector>(3.0, Vectors.dense(7.0, 8.0, 9.0)));
    JavaRDD<Tuple2<Double, Vector>> javaRddTuple = sc.parallelize(list);
    JavaRDD<Row> javaRddRow = javaRddTuple.map(new DoubleVectorRow());
    List<StructField> fields = new ArrayList<StructField>();
    fields.add(DataTypes.createStructField(RDDConverterUtils.DF_ID_COLUMN, DataTypes.DoubleType, true));
    fields.add(DataTypes.createStructField("C1", new VectorUDT(), true));
    StructType schema = DataTypes.createStructType(fields);
    Dataset<Row> dataFrame = spark.createDataFrame(javaRddRow, schema);
    MatrixMetadata mm = new MatrixMetadata(MatrixFormat.DF_VECTOR_WITH_INDEX);
    Script script = pydml("print('sum: ' + sum(M))").in("M", dataFrame, mm);
    setExpectedStdOut("sum: 45.0");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) VectorUDT(org.apache.spark.ml.linalg.VectorUDT) StructType(org.apache.spark.sql.types.StructType) ArrayList(java.util.ArrayList) StructField(org.apache.spark.sql.types.StructField) Tuple2(scala.Tuple2) Row(org.apache.spark.sql.Row) MatrixMetadata(org.apache.sysml.api.mlcontext.MatrixMetadata) Vector(org.apache.spark.ml.linalg.Vector) DenseVector(org.apache.spark.ml.linalg.DenseVector) Test(org.junit.Test)

Example 54 with Script

use of org.apache.sysml.api.mlcontext.Script in project incubator-systemml by apache.

the class MLContextTest method testOutputListStringCSVDenseDML.

@Test
public void testOutputListStringCSVDenseDML() {
    System.out.println("MLContextTest - output List String CSV Dense DML");
    String s = "M = matrix('1 2 3 4', rows=2, cols=2); print(toString(M));";
    Script script = dml(s).out("M");
    MLResults results = ml.execute(script);
    MatrixObject mo = results.getMatrixObject("M");
    List<String> lines = MLContextConversionUtil.matrixObjectToListStringCSV(mo);
    Assert.assertEquals("1.0,2.0", lines.get(0));
    Assert.assertEquals("3.0,4.0", lines.get(1));
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) MatrixObject(org.apache.sysml.runtime.controlprogram.caching.MatrixObject) MLResults(org.apache.sysml.api.mlcontext.MLResults) Test(org.junit.Test)

Example 55 with Script

use of org.apache.sysml.api.mlcontext.Script in project incubator-systemml by apache.

the class MLContextTest method testFunctionNoReturnValueForceFunctionCallPYDML.

@Test
public void testFunctionNoReturnValueForceFunctionCallPYDML() {
    System.out.println("MLContextTest - function with no return value, force function call PYDML");
    String s = "def hello():\n\tif (1==1):\n\t\tprint('')\n\tprint('no return value, force function call')\nhello()";
    Script script = pydml(s);
    setExpectedStdOut("no return value, force function call");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) Test(org.junit.Test)

Aggregations

Script (org.apache.sysml.api.mlcontext.Script)206 Test (org.junit.Test)188 ArrayList (java.util.ArrayList)64 Row (org.apache.spark.sql.Row)53 MLResults (org.apache.sysml.api.mlcontext.MLResults)47 StructType (org.apache.spark.sql.types.StructType)36 StructField (org.apache.spark.sql.types.StructField)35 MatrixMetadata (org.apache.sysml.api.mlcontext.MatrixMetadata)35 DenseVector (org.apache.spark.ml.linalg.DenseVector)14 Vector (org.apache.spark.ml.linalg.Vector)14 VectorUDT (org.apache.spark.ml.linalg.VectorUDT)14 Matrix (org.apache.sysml.api.mlcontext.Matrix)13 MatrixObject (org.apache.sysml.runtime.controlprogram.caching.MatrixObject)13 MLContext (org.apache.sysml.api.mlcontext.MLContext)9 MatrixBlock (org.apache.sysml.runtime.matrix.data.MatrixBlock)9 Tuple2 (scala.Tuple2)9 List (java.util.List)8 URL (java.net.URL)7 DMLScript (org.apache.sysml.api.DMLScript)7 Seq (scala.collection.Seq)7