Search in sources :

Example 1 with MatrixMetadata

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

the class MLContextTest method testDataFrameSumDMLDoublesWithNoIDColumn.

@Test
public void testDataFrameSumDMLDoublesWithNoIDColumn() {
    System.out.println("MLContextTest - DataFrame sum DML, doubles with no ID column");
    List<String> list = new ArrayList<String>();
    list.add("10,20,30");
    list.add("40,50,60");
    list.add("70,80,90");
    JavaRDD<String> javaRddString = sc.parallelize(list);
    JavaRDD<Row> javaRddRow = javaRddString.map(new CommaSeparatedValueStringToDoubleArrayRow());
    List<StructField> fields = new ArrayList<StructField>();
    fields.add(DataTypes.createStructField("C1", DataTypes.DoubleType, true));
    fields.add(DataTypes.createStructField("C2", DataTypes.DoubleType, true));
    fields.add(DataTypes.createStructField("C3", DataTypes.DoubleType, true));
    StructType schema = DataTypes.createStructType(fields);
    Dataset<Row> dataFrame = spark.createDataFrame(javaRddRow, schema);
    MatrixMetadata mm = new MatrixMetadata(MatrixFormat.DF_DOUBLES);
    Script script = dml("print('sum: ' + sum(M));").in("M", dataFrame, mm);
    setExpectedStdOut("sum: 450.0");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) StructType(org.apache.spark.sql.types.StructType) ArrayList(java.util.ArrayList) StructField(org.apache.spark.sql.types.StructField) Row(org.apache.spark.sql.Row) MatrixMetadata(org.apache.sysml.api.mlcontext.MatrixMetadata) Test(org.junit.Test)

Example 2 with MatrixMetadata

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

the class MLContextTest method testDataFrameSumDMLDoublesWithIDColumn.

@Test
public void testDataFrameSumDMLDoublesWithIDColumn() {
    System.out.println("MLContextTest - DataFrame sum DML, doubles with ID column");
    List<String> list = new ArrayList<String>();
    list.add("1,1,2,3");
    list.add("2,4,5,6");
    list.add("3,7,8,9");
    JavaRDD<String> javaRddString = sc.parallelize(list);
    JavaRDD<Row> javaRddRow = javaRddString.map(new CommaSeparatedValueStringToDoubleArrayRow());
    List<StructField> fields = new ArrayList<StructField>();
    fields.add(DataTypes.createStructField(RDDConverterUtils.DF_ID_COLUMN, DataTypes.DoubleType, true));
    fields.add(DataTypes.createStructField("C1", DataTypes.DoubleType, true));
    fields.add(DataTypes.createStructField("C2", DataTypes.DoubleType, true));
    fields.add(DataTypes.createStructField("C3", DataTypes.DoubleType, true));
    StructType schema = DataTypes.createStructType(fields);
    Dataset<Row> dataFrame = spark.createDataFrame(javaRddRow, schema);
    MatrixMetadata mm = new MatrixMetadata(MatrixFormat.DF_DOUBLES_WITH_INDEX);
    Script script = dml("print('sum: ' + sum(M));").in("M", dataFrame, mm);
    setExpectedStdOut("sum: 45.0");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) StructType(org.apache.spark.sql.types.StructType) ArrayList(java.util.ArrayList) StructField(org.apache.spark.sql.types.StructField) Row(org.apache.spark.sql.Row) MatrixMetadata(org.apache.sysml.api.mlcontext.MatrixMetadata) Test(org.junit.Test)

Example 3 with MatrixMetadata

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

the class MLContextTest method testDataFrameSumDMLMllibVectorWithIDColumn.

@Test
public void testDataFrameSumDMLMllibVectorWithIDColumn() {
    System.out.println("MLContextTest - DataFrame sum DML, mllib vector with ID column");
    List<Tuple2<Double, org.apache.spark.mllib.linalg.Vector>> list = new ArrayList<Tuple2<Double, org.apache.spark.mllib.linalg.Vector>>();
    list.add(new Tuple2<Double, org.apache.spark.mllib.linalg.Vector>(1.0, org.apache.spark.mllib.linalg.Vectors.dense(1.0, 2.0, 3.0)));
    list.add(new Tuple2<Double, org.apache.spark.mllib.linalg.Vector>(2.0, org.apache.spark.mllib.linalg.Vectors.dense(4.0, 5.0, 6.0)));
    list.add(new Tuple2<Double, org.apache.spark.mllib.linalg.Vector>(3.0, org.apache.spark.mllib.linalg.Vectors.dense(7.0, 8.0, 9.0)));
    JavaRDD<Tuple2<Double, org.apache.spark.mllib.linalg.Vector>> javaRddTuple = sc.parallelize(list);
    JavaRDD<Row> javaRddRow = javaRddTuple.map(new DoubleMllibVectorRow());
    List<StructField> fields = new ArrayList<StructField>();
    fields.add(DataTypes.createStructField(RDDConverterUtils.DF_ID_COLUMN, DataTypes.DoubleType, true));
    fields.add(DataTypes.createStructField("C1", new org.apache.spark.mllib.linalg.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 = dml("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 4 with MatrixMetadata

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

the class MLContextTest method testRDDGoodMetadataDML.

@Test
public void testRDDGoodMetadataDML() {
    System.out.println("MLContextTest - RDD<String> good metadata DML");
    List<String> list = new ArrayList<String>();
    list.add("1,1,1");
    list.add("2,2,2");
    list.add("3,3,3");
    JavaRDD<String> javaRDD = sc.parallelize(list);
    RDD<String> rdd = JavaRDD.toRDD(javaRDD);
    MatrixMetadata mm = new MatrixMetadata(3, 3, 9);
    Script script = dml("print('sum: ' + sum(M));").in("M", rdd, mm);
    setExpectedStdOut("sum: 18.0");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) ArrayList(java.util.ArrayList) MatrixMetadata(org.apache.sysml.api.mlcontext.MatrixMetadata) Test(org.junit.Test)

Example 5 with MatrixMetadata

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

the class MLContextTest method testRDDSumIJVPYDML.

@Test
public void testRDDSumIJVPYDML() {
    System.out.println("MLContextTest - RDD<String> IJV sum PYDML");
    List<String> list = new ArrayList<String>();
    list.add("1 1 1");
    list.add("2 1 2");
    list.add("1 2 3");
    list.add("3 3 4");
    JavaRDD<String> javaRDD = sc.parallelize(list);
    RDD<String> rdd = JavaRDD.toRDD(javaRDD);
    MatrixMetadata mm = new MatrixMetadata(MatrixFormat.IJV, 3, 3);
    Script script = pydml("print('sum: ' + sum(M))").in("M", rdd, mm);
    setExpectedStdOut("sum: 10.0");
    ml.execute(script);
}
Also used : Script(org.apache.sysml.api.mlcontext.Script) ArrayList(java.util.ArrayList) MatrixMetadata(org.apache.sysml.api.mlcontext.MatrixMetadata) Test(org.junit.Test)

Aggregations

MatrixMetadata (org.apache.sysml.api.mlcontext.MatrixMetadata)72 Script (org.apache.sysml.api.mlcontext.Script)68 Test (org.junit.Test)68 ArrayList (java.util.ArrayList)60 Row (org.apache.spark.sql.Row)36 StructField (org.apache.spark.sql.types.StructField)34 StructType (org.apache.spark.sql.types.StructType)34 DenseVector (org.apache.spark.ml.linalg.DenseVector)16 Vector (org.apache.spark.ml.linalg.Vector)16 VectorUDT (org.apache.spark.ml.linalg.VectorUDT)16 MLResults (org.apache.sysml.api.mlcontext.MLResults)12 MatrixCharacteristics (org.apache.sysml.runtime.matrix.MatrixCharacteristics)10 MatrixBlock (org.apache.sysml.runtime.matrix.data.MatrixBlock)10 MatrixIndexes (org.apache.sysml.runtime.matrix.data.MatrixIndexes)10 Matrix (org.apache.sysml.api.mlcontext.Matrix)8 Tuple2 (scala.Tuple2)8 URL (java.net.URL)4 List (java.util.List)4 Tuple3 (scala.Tuple3)4 Seq (scala.collection.Seq)4