You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by de...@apache.org on 2017/08/28 17:25:26 UTC
systemml git commit: [MINOR] Refactor MatrixMetadata/FrameMetadata
methods to Metadata
Repository: systemml
Updated Branches:
refs/heads/master 11e460573 -> aa45de98b
[MINOR] Refactor MatrixMetadata/FrameMetadata methods to Metadata
Move common methods from MatrixMetadata and FrameMetadata classes
to abstract parent Metadata class.
Closes #641.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/aa45de98
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/aa45de98
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/aa45de98
Branch: refs/heads/master
Commit: aa45de98b87300919669ae3ec64dfd44a0b54b21
Parents: 11e4605
Author: Deron Eriksson <de...@apache.org>
Authored: Mon Aug 28 10:24:04 2017 -0700
Committer: Deron Eriksson <de...@apache.org>
Committed: Mon Aug 28 10:24:04 2017 -0700
----------------------------------------------------------------------
.../sysml/api/mlcontext/FrameMetadata.java | 139 -----------------
.../sysml/api/mlcontext/MatrixMetadata.java | 152 ------------------
.../apache/sysml/api/mlcontext/Metadata.java | 155 +++++++++++++++++++
3 files changed, 155 insertions(+), 291 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/aa45de98/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java b/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
index 6b0e68c..67d7ab9 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
@@ -19,7 +19,6 @@
package org.apache.sysml.api.mlcontext;
-import org.apache.sysml.conf.ConfigurationManager;
import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
/**
@@ -30,11 +29,6 @@ import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
*/
public class FrameMetadata extends Metadata {
- private Long numRows = null;
- private Long numColumns = null;
- private Long numNonZeros = null;
- private Integer numRowsPerBlock = null;
- private Integer numColumnsPerBlock = null;
private FrameFormat frameFormat;
private FrameSchema frameSchema;
@@ -523,139 +517,6 @@ public class FrameMetadata extends Metadata {
}
/**
- * Obtain the number of rows
- *
- * @return the number of rows
- */
- public Long getNumRows() {
- return numRows;
- }
-
- /**
- * Set the number of rows
- *
- * @param numRows
- * the number of rows
- */
- public void setNumRows(Long numRows) {
- this.numRows = numRows;
- }
-
- /**
- * Obtain the number of columns
- *
- * @return the number of columns
- */
- public Long getNumColumns() {
- return numColumns;
- }
-
- /**
- * Set the number of columns
- *
- * @param numColumns
- * the number of columns
- */
- public void setNumColumns(Long numColumns) {
- this.numColumns = numColumns;
- }
-
- /**
- * Obtain the number of non-zero values
- *
- * @return the number of non-zero values
- */
- public Long getNumNonZeros() {
- return numNonZeros;
- }
-
- /**
- * Set the number of non-zero values
- *
- * @param numNonZeros
- * the number of non-zero values
- */
- public void setNumNonZeros(Long numNonZeros) {
- this.numNonZeros = numNonZeros;
- }
-
- /**
- * Obtain the number of rows per block
- *
- * @return the number of rows per block
- */
- public Integer getNumRowsPerBlock() {
- return numRowsPerBlock;
- }
-
- /**
- * Set the number of rows per block
- *
- * @param numRowsPerBlock
- * the number of rows per block
- */
- public void setNumRowsPerBlock(Integer numRowsPerBlock) {
- this.numRowsPerBlock = numRowsPerBlock;
- }
-
- /**
- * Obtain the number of columns per block
- *
- * @return the number of columns per block
- */
- public Integer getNumColumnsPerBlock() {
- return numColumnsPerBlock;
- }
-
- /**
- * Set the number of columns per block
- *
- * @param numColumnsPerBlock
- * the number of columns per block
- */
- public void setNumColumnsPerBlock(Integer numColumnsPerBlock) {
- this.numColumnsPerBlock = numColumnsPerBlock;
- }
-
- /**
- * Convert the frame metadata to a MatrixCharacteristics object. If all
- * field values are {@code null}, {@code null} is returned.
- *
- * @return the frame metadata as a MatrixCharacteristics object, or
- * {@code null} if all field values are null
- */
- public MatrixCharacteristics asMatrixCharacteristics() {
-
- if ((numRows == null) && (numColumns == null) && (numRowsPerBlock == null) && (numColumnsPerBlock == null)
- && (numNonZeros == null)) {
- return null;
- }
-
- long nr = (numRows == null) ? -1 : numRows;
- long nc = (numColumns == null) ? -1 : numColumns;
- int nrpb = (numRowsPerBlock == null) ? ConfigurationManager.getBlocksize() : numRowsPerBlock;
- int ncpb = (numColumnsPerBlock == null) ? ConfigurationManager.getBlocksize() : numColumnsPerBlock;
- long nnz = (numNonZeros == null) ? -1 : numNonZeros;
- MatrixCharacteristics mc = new MatrixCharacteristics(nr, nc, nrpb, ncpb, nnz);
- return mc;
- }
-
- @Override
- public String toString() {
- return "rows: " + fieldDisplay(numRows) + ", columns: " + fieldDisplay(numColumns) + ", non-zeros: "
- + fieldDisplay(numNonZeros) + ", rows per block: " + fieldDisplay(numRowsPerBlock)
- + ", columns per block: " + fieldDisplay(numColumnsPerBlock);
- }
-
- private String fieldDisplay(Object field) {
- if (field == null) {
- return "None";
- } else {
- return field.toString();
- }
- }
-
- /**
* Obtain the frame format
*
* @return the frame format
http://git-wip-us.apache.org/repos/asf/systemml/blob/aa45de98/src/main/java/org/apache/sysml/api/mlcontext/MatrixMetadata.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/MatrixMetadata.java b/src/main/java/org/apache/sysml/api/mlcontext/MatrixMetadata.java
index 8f4cad7..4510249 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/MatrixMetadata.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/MatrixMetadata.java
@@ -19,7 +19,6 @@
package org.apache.sysml.api.mlcontext;
-import org.apache.sysml.conf.ConfigurationManager;
import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
/**
@@ -30,11 +29,6 @@ import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
*/
public class MatrixMetadata extends Metadata {
- private Long numRows = null;
- private Long numColumns = null;
- private Long numNonZeros = null;
- private Integer numRowsPerBlock = null;
- private Integer numColumnsPerBlock = null;
private MatrixFormat matrixFormat;
public MatrixMetadata() {
@@ -355,152 +349,6 @@ public class MatrixMetadata extends Metadata {
}
/**
- * Set the MatrixMetadata fields based on a MatrixCharacteristics object.
- *
- * @param matrixCharacteristics
- * the matrix metadata as a MatrixCharacteristics object
- */
- public void setMatrixCharacteristics(MatrixCharacteristics matrixCharacteristics) {
- this.numRows = matrixCharacteristics.getRows();
- this.numColumns = matrixCharacteristics.getCols();
- this.numNonZeros = matrixCharacteristics.getNonZeros();
- this.numRowsPerBlock = matrixCharacteristics.getRowsPerBlock();
- this.numColumnsPerBlock = matrixCharacteristics.getColsPerBlock();
- }
-
- /**
- * Obtain the number of rows
- *
- * @return the number of rows
- */
- public Long getNumRows() {
- return numRows;
- }
-
- /**
- * Set the number of rows
- *
- * @param numRows
- * the number of rows
- */
- public void setNumRows(Long numRows) {
- this.numRows = numRows;
- }
-
- /**
- * Obtain the number of columns
- *
- * @return the number of columns
- */
- public Long getNumColumns() {
- return numColumns;
- }
-
- /**
- * Set the number of columns
- *
- * @param numColumns
- * the number of columns
- */
- public void setNumColumns(Long numColumns) {
- this.numColumns = numColumns;
- }
-
- /**
- * Obtain the number of non-zero values
- *
- * @return the number of non-zero values
- */
- public Long getNumNonZeros() {
- return numNonZeros;
- }
-
- /**
- * Set the number of non-zero values
- *
- * @param numNonZeros
- * the number of non-zero values
- */
- public void setNumNonZeros(Long numNonZeros) {
- this.numNonZeros = numNonZeros;
- }
-
- /**
- * Obtain the number of rows per block
- *
- * @return the number of rows per block
- */
- public Integer getNumRowsPerBlock() {
- return numRowsPerBlock;
- }
-
- /**
- * Set the number of rows per block
- *
- * @param numRowsPerBlock
- * the number of rows per block
- */
- public void setNumRowsPerBlock(Integer numRowsPerBlock) {
- this.numRowsPerBlock = numRowsPerBlock;
- }
-
- /**
- * Obtain the number of columns per block
- *
- * @return the number of columns per block
- */
- public Integer getNumColumnsPerBlock() {
- return numColumnsPerBlock;
- }
-
- /**
- * Set the number of columns per block
- *
- * @param numColumnsPerBlock
- * the number of columns per block
- */
- public void setNumColumnsPerBlock(Integer numColumnsPerBlock) {
- this.numColumnsPerBlock = numColumnsPerBlock;
- }
-
- /**
- * Convert the matrix metadata to a MatrixCharacteristics object. If all
- * field values are {@code null}, {@code null} is returned.
- *
- * @return the matrix metadata as a MatrixCharacteristics object, or
- * {@code null} if all field values are null
- */
- public MatrixCharacteristics asMatrixCharacteristics() {
-
- if ((numRows == null) && (numColumns == null) && (numRowsPerBlock == null) && (numColumnsPerBlock == null)
- && (numNonZeros == null)) {
- return null;
- }
-
- long nr = (numRows == null) ? -1 : numRows;
- long nc = (numColumns == null) ? -1 : numColumns;
- int nrpb = (numRowsPerBlock == null) ? ConfigurationManager.getBlocksize() : numRowsPerBlock;
- int ncpb = (numColumnsPerBlock == null) ? ConfigurationManager.getBlocksize() : numColumnsPerBlock;
- long nnz = (numNonZeros == null) ? -1 : numNonZeros;
- return new MatrixCharacteristics(nr, nc, nrpb, ncpb, nnz);
- }
-
- @Override
- public String toString() {
- return "rows: " + fieldDisplay(numRows) + ", columns: " + fieldDisplay(numColumns) + ", non-zeros: "
- + fieldDisplay(numNonZeros) + ", rows per block: " + fieldDisplay(numRowsPerBlock)
- + ", columns per block: " + fieldDisplay(numColumnsPerBlock);
- }
-
- private String fieldDisplay(Object field) {
- if (field == null) {
- return "None";
- } else {
- return field.toString();
- }
- }
-
- /**
* Obtain the matrix format
*
* @return the matrix format
http://git-wip-us.apache.org/repos/asf/systemml/blob/aa45de98/src/main/java/org/apache/sysml/api/mlcontext/Metadata.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/Metadata.java b/src/main/java/org/apache/sysml/api/mlcontext/Metadata.java
index 4061b5c..e7b167e 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/Metadata.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/Metadata.java
@@ -19,6 +19,9 @@
package org.apache.sysml.api.mlcontext;
+import org.apache.sysml.conf.ConfigurationManager;
+import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
+
/**
* Abstract metadata class for MLContext API. Complex types such as SystemML
* matrices and frames typically require metadata, so this abstract class serves
@@ -27,4 +30,156 @@ package org.apache.sysml.api.mlcontext;
*/
public abstract class Metadata {
+ protected Long numColumns = null;
+ protected Integer numColumnsPerBlock = null;
+ protected Long numNonZeros = null;
+ protected Long numRows = null;
+ protected Integer numRowsPerBlock = null;
+
+ /**
+ * Convert the metadata to a MatrixCharacteristics object. If all field
+ * values are {@code null}, {@code null} is returned.
+ *
+ * @return the metadata as a MatrixCharacteristics object, or {@code null}
+ * if all field values are null
+ */
+ public MatrixCharacteristics asMatrixCharacteristics() {
+
+ if ((numRows == null) && (numColumns == null) && (numRowsPerBlock == null) && (numColumnsPerBlock == null)
+ && (numNonZeros == null)) {
+ return null;
+ }
+
+ long nr = (numRows == null) ? -1 : numRows;
+ long nc = (numColumns == null) ? -1 : numColumns;
+ int nrpb = (numRowsPerBlock == null) ? ConfigurationManager.getBlocksize() : numRowsPerBlock;
+ int ncpb = (numColumnsPerBlock == null) ? ConfigurationManager.getBlocksize() : numColumnsPerBlock;
+ long nnz = (numNonZeros == null) ? -1 : numNonZeros;
+ return new MatrixCharacteristics(nr, nc, nrpb, ncpb, nnz);
+ }
+
+ protected String fieldDisplay(Object field) {
+ if (field == null) {
+ return "None";
+ } else {
+ return field.toString();
+ }
+ }
+
+ /**
+ * Obtain the number of columns
+ *
+ * @return the number of columns
+ */
+ public Long getNumColumns() {
+ return numColumns;
+ }
+
+ /**
+ * Obtain the number of columns per block
+ *
+ * @return the number of columns per block
+ */
+ public Integer getNumColumnsPerBlock() {
+ return numColumnsPerBlock;
+ }
+
+ /**
+ * Obtain the number of non-zero values
+ *
+ * @return the number of non-zero values
+ */
+ public Long getNumNonZeros() {
+ return numNonZeros;
+ }
+
+ /**
+ * Obtain the number of rows
+ *
+ * @return the number of rows
+ */
+ public Long getNumRows() {
+ return numRows;
+ }
+
+ /**
+ * Obtain the number of rows per block
+ *
+ * @return the number of rows per block
+ */
+ public Integer getNumRowsPerBlock() {
+ return numRowsPerBlock;
+ }
+
+ /**
+ * Set the metadata fields based on a MatrixCharacteristics object.
+ *
+ * @param matrixCharacteristics
+ * the matrix metadata as a MatrixCharacteristics object
+ */
+ public void setMatrixCharacteristics(MatrixCharacteristics matrixCharacteristics) {
+ this.numRows = matrixCharacteristics.getRows();
+ this.numColumns = matrixCharacteristics.getCols();
+ this.numNonZeros = matrixCharacteristics.getNonZeros();
+ this.numRowsPerBlock = matrixCharacteristics.getRowsPerBlock();
+ this.numColumnsPerBlock = matrixCharacteristics.getColsPerBlock();
+ }
+
+ /**
+ * Set the number of columns
+ *
+ * @param numColumns
+ * the number of columns
+ */
+ public void setNumColumns(Long numColumns) {
+ this.numColumns = numColumns;
+ }
+
+ /**
+ * Set the number of columns per block
+ *
+ * @param numColumnsPerBlock
+ * the number of columns per block
+ */
+ public void setNumColumnsPerBlock(Integer numColumnsPerBlock) {
+ this.numColumnsPerBlock = numColumnsPerBlock;
+ }
+
+ /**
+ * Set the number of non-zero values
+ *
+ * @param numNonZeros
+ * the number of non-zero values
+ */
+ public void setNumNonZeros(Long numNonZeros) {
+ this.numNonZeros = numNonZeros;
+ }
+
+ /**
+ * Set the number of rows
+ *
+ * @param numRows
+ * the number of rows
+ */
+ public void setNumRows(Long numRows) {
+ this.numRows = numRows;
+ }
+
+ /**
+ * Set the number of rows per block
+ *
+ * @param numRowsPerBlock
+ * the number of rows per block
+ */
+ public void setNumRowsPerBlock(Integer numRowsPerBlock) {
+ this.numRowsPerBlock = numRowsPerBlock;
+ }
+
+ @Override
+ public String toString() {
+ return "rows: " + fieldDisplay(numRows) + ", columns: " + fieldDisplay(numColumns) + ", non-zeros: "
+ + fieldDisplay(numNonZeros) + ", rows per block: " + fieldDisplay(numRowsPerBlock)
+ + ", columns per block: " + fieldDisplay(numColumnsPerBlock);
+ }
+
}