[jira] [Created] (SYSTEMML-1740) Missing call to super in FunctionOp#computeMemEstimate()
Ted Yu created SYSTEMML-1740: Summary: Missing call to super in FunctionOp#computeMemEstimate() Key: SYSTEMML-1740 URL: https://issues.apache.org/jira/browse/SYSTEMML-1740 Project: SystemML Issue Type: Bug Reporter: Ted Yu Priority: Minor super.computeMemEstimate() should be called, as is done in other classes such as AggBinaryOp -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (SYSTEMML-1739) Ineffective null check in MLContextConversionUtil#binaryBlocksToFrameObject()
Ted Yu created SYSTEMML-1739: Summary: Ineffective null check in MLContextConversionUtil#binaryBlocksToFrameObject() Key: SYSTEMML-1739 URL: https://issues.apache.org/jira/browse/SYSTEMML-1739 Project: SystemML Issue Type: Bug Reporter: Ted Yu Priority: Minor {code} MatrixCharacteristics mc = (frameMetadata != null) ? frameMetadata.asMatrixCharacteristics() : new MatrixCharacteristics(); FrameObject frameObject = new FrameObject(OptimizerUtils.getUniqueTempFileName(), new MatrixFormatMetaData(mc, OutputInfo.BinaryBlockOutputInfo, InputInfo.BinaryBlockInputInfo), frameMetadata.getFrameSchema().getSchema().toArray(new ValueType[0])); {code} null check is performed on frameMetadata. However, frameMetadata is dereferenced later without check for getFrameSchema(). -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (SYSTEMML-1738) InputStream should be closed in ScriptFactory#scriptFromInputStream
Ted Yu created SYSTEMML-1738: Summary: InputStream should be closed in ScriptFactory#scriptFromInputStream Key: SYSTEMML-1738 URL: https://issues.apache.org/jira/browse/SYSTEMML-1738 Project: SystemML Issue Type: Bug Reporter: Ted Yu Priority: Minor {code} private static Script scriptFromInputStream(InputStream inputStream, ScriptType scriptType) { String scriptString = getScriptStringFromInputStream(inputStream); return scriptFromString(scriptString, scriptType); {code} inputStream should be closed after reading is complete. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (SYSTEMML-1737) BufferedReader should be closed in ParameterizedBuiltinCPFileInstruction#createCellResultFile()
Ted Yu created SYSTEMML-1737: Summary: BufferedReader should be closed in ParameterizedBuiltinCPFileInstruction#createCellResultFile() Key: SYSTEMML-1737 URL: https://issues.apache.org/jira/browse/SYSTEMML-1737 Project: SystemML Issue Type: Bug Reporter: Ted Yu Priority: Minor {code} BufferedReader fkeyMap = StagingFileUtils.openKeyMap(metaOut); {code} BufferedReader should be closed upon exit from method. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-618) Deep Learning DML Library
[ https://issues.apache.org/jira/browse/SYSTEMML-618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-618: - Component/s: Algorithms > Deep Learning DML Library > - > > Key: SYSTEMML-618 > URL: https://issues.apache.org/jira/browse/SYSTEMML-618 > Project: SystemML > Issue Type: Epic > Components: Algorithms >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > > This issue tracks the creation of a layers-based *deep learning library* in > pure DML. > The library contains layers with simple {{forward}} (function evaluation) and > {{backward}} (gradient computation) functions for affine, convolution (start > with 2D), max-pooling, non-linearities (relu, sigmoid, softmax, etc.), > dropout, loss functions, other layers, optimizers, and gradient checks. > *Examples*: Please see example *scripts* and *notebooks* in the {{examples}} > folder: > [https://github.com/apache/incubator-systemml/tree/master/scripts/staging/SystemML-NN/examples]. > *SystemML-NN*: > [https://github.com/apache/incubator-systemml/tree/master/scripts/staging/SystemML-NN] > * Layers: > ** Core: > *** Affine > *** Batch Normalization 1D > *** Batch Normalization 2D ("Spatial Batch Normalization") > *** Convolution 2D ("Spatial Convolution") > *** LSTM > *** Max Pooling 2D ("Spatial Max Pooling") > *** RNN > ** Nonlinearities: > *** ReLU > *** Sigmoid > *** Softmax > *** Tanh > ** Loss: > *** Cross-entropy loss > *** L1 loss > *** L2 loss > *** Log ("Logistic") loss > ** Regularization: > *** Dropout > *** L1 reg > *** L2 reg > * Optimizers: > ** Adagrad > ** Adam > ** RMSprop > ** SGD > ** SGD w/ Momentum > ** SGD w/ Nesterov Momentum > * Tests: > ** Gradient Checks > ** Unit Tests -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1679) Add a new threshold utility function
[ https://issues.apache.org/jira/browse/SYSTEMML-1679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1679: -- Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add a new threshold utility function > > > Key: SYSTEMML-1679 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1679 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Fei Hu > Labels: SYSTEMML-618 > Fix For: SystemML 1.0 > > > We should add a new {{threshold}} utility function (in {{nn/util.dml}}) that > accepts a matrix {{X}} and a threshold parameter {{thresh}} and returns an > indicator matrix {{out}} with values in \{0, 1\} depending on whether or not > the values in {{X}} are above {{thresh}}. We could use this, for example, > for determining the predicted class in a binary classification problem given > the output of a sigmoid layer. > We should also add a test case in {{nn/test/test.dml}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1675) Add a new 2D depthwise transpose convolution layer
[ https://issues.apache.org/jira/browse/SYSTEMML-1675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1675: -- Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add a new 2D depthwise transpose convolution layer > -- > > Key: SYSTEMML-1675 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1675 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 1.0 > > > A depthwise transpose convolution (1) applies a different filter to each > unique group of M input channels separately, thus condensing each group of M > input channels to 1 output channel, and (2) concatenates the results into a > single volume with C/M output channels. This is in contrast to a regular 2D > transpose convolution, in which all of the filters would be applied to all of > the input channels at once. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1674) Add a new 2D depthwise convolution layer
[ https://issues.apache.org/jira/browse/SYSTEMML-1674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1674: -- Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add a new 2D depthwise convolution layer > > > Key: SYSTEMML-1674 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1674 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 1.0 > > > A depthwise convolution (1) applies a different set of M filters to each > input channel separately, thus expanding each input channel to M output > channels, and (2) concatenates the results into a single volume with C*M > output channels. This is in contrast to a regular 2D convolution, in which > all of the filters would be applied to all of the input channels at once. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1432) Extend `util::pad_image` with a `pad_value` parameter
[ https://issues.apache.org/jira/browse/SYSTEMML-1432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1432: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Extend `util::pad_image` with a `pad_value` parameter > - > > Key: SYSTEMML-1432 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1432 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry >Priority: Minor > Labels: SYSTEMML-618 > Fix For: SystemML 0.14 > > > Currently, our {{util::pad_image}} function performs zero-padding, which is > correct for operations such as convolution. In some cases, such as max > pooling, it is necessary to pad with a different value such as negative > infinity. Therefore, we should extend our {{util::pad_image}} function to > accept a {{pad_value}} parameter with a noted typical value of 0. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1413) Extract test-only utilities from `nn/util.dml` to new `nn/test/util.dml`
[ https://issues.apache.org/jira/browse/SYSTEMML-1413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1413: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Extract test-only utilities from `nn/util.dml` to new `nn/test/util.dml` > > > Key: SYSTEMML-1413 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1413 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.14 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1414) Rename `nn/layers/conv.dml` to `nn/layers/conv2d.dml`
[ https://issues.apache.org/jira/browse/SYSTEMML-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1414: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Rename `nn/layers/conv.dml` to `nn/layers/conv2d.dml` > - > > Key: SYSTEMML-1414 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1414 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 1.0 > > > Note that this breaks the current API. This is fine though since the {{nn}} > library is currently in staging. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1417) Rename `nn/layers/max_pool_builtin.dml` to `nn/layers/max_pool2d_builtin.dml`
[ https://issues.apache.org/jira/browse/SYSTEMML-1417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1417: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Rename `nn/layers/max_pool_builtin.dml` to `nn/layers/max_pool2d_builtin.dml` > - > > Key: SYSTEMML-1417 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1417 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry >Priority: Minor > Labels: SYSTEMML-618 > Fix For: SystemML 1.0 > > > Note that this breaks the current API. This is fine though since the {{nn}} > library is currently in staging. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1409) Add batch normalization layer
[ https://issues.apache.org/jira/browse/SYSTEMML-1409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1409: -- Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add batch normalization layer > - > > Key: SYSTEMML-1409 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1409 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.14 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1389) Update API: Pass in all outputs from `forward` to `backward` for performance
[ https://issues.apache.org/jira/browse/SYSTEMML-1389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1389: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Update API: Pass in all outputs from `forward` to `backward` for performance > > > Key: SYSTEMML-1389 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1389 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > > Currently, we do not pass the outputs of the {{forward}} functions to the > {{backward}} functions in the {{nn}} library. This aims to update the > {{backward}} API to include (1) all relevant gradients from upstream, (2) > *all* outputs from {{forward}}, and (3) *all* inputs given to {{forward}}. > Effectively, this would be equivalent to having a class object that maintains > all configuration and input + output tensors. If we had an object oriented > design, most of the parameters to `forward` and `backward` would just be > instance variables and thus would be accessible by `forward` or `backward` as > needed. Given that we don't have that design, this API update mimics that by > allowing `backward` to have access to any inputs available to `forward`, as > well as any outputs produced by `forward`. This provides two benefits: > first, many layers can benefit from a performance perspective from having > access to the outputs of the {{forward}} function within the {{backward}} > function, and second, this makes the API much simpler and less error prone by > allowing for simple copy-and-paste of forward inputs and outputs as arguments > to {{backward}} and by removing ambiguity related to the parameters. A > downside is that often times, not every single parameter is needed by > {{backward}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1408) Add padding parameters to max-pooling layers
[ https://issues.apache.org/jira/browse/SYSTEMML-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1408: -- Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add padding parameters to max-pooling layers > > > Key: SYSTEMML-1408 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1408 > Project: SystemML > Issue Type: New Feature > Components: Algorithms >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.14 > > > Currently, the {{max_pool}} layers do not accept padding arguments. To > provide more flexibility, we should add padding parameters to all of the max > pooling layers, and update the tests accordingly. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1384) Revisit the weight and bias of fully connected layer
[ https://issues.apache.org/jira/browse/SYSTEMML-1384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1384: -- Issue Type: Task (was: Sub-task) Parent: (was: SYSTEMML-618) > Revisit the weight and bias of fully connected layer > > > Key: SYSTEMML-1384 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1384 > Project: SystemML > Issue Type: Task >Reporter: Niketan Pansare > Labels: SYSTEMML-618 > > Since all our bias are column vector (which is consistent with Keras/Caffe), > whereas bias of fully connected layer is a row-vector. Similarly, the weight > that is passed to caffe is transpose of weights passed to SystemML (since > both store in row-major NCHW format). > Making the dimensions consistent will simplify loading of Caffe/Keras models. > [~mwdus...@us.ibm.com] -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1115) Vectorize Convolution
[ https://issues.apache.org/jira/browse/SYSTEMML-1115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1115: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Vectorize Convolution > - > > Key: SYSTEMML-1115 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1115 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > > Once {{im2col}} and {{pad_image}} are vectorized over all examples, the > convolution layer functions can be vectorized as well. This would result in > a single matrix multiply in the forward function that computes the > convolution over all {{n}} images at once, rather than using a {{parfor}} > loop over the examples. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1114) Vectorize pad_image
[ https://issues.apache.org/jira/browse/SYSTEMML-1114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1114: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Vectorize pad_image > --- > > Key: SYSTEMML-1114 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1114 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > > The goal here is to vectorize the {{pad_image}} function over all examples > using built-in operations. By vectorizing over all examples, the convolution > layer functions can be vectorized as well. > https://issues.apache.org/jira/browse/SYSTEMML-633?focusedCommentId=15244030=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15244030 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1113) Vectorize im2col
[ https://issues.apache.org/jira/browse/SYSTEMML-1113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1113: -- Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Vectorize im2col > > > Key: SYSTEMML-1113 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1113 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > > The goal here is to vectorize the {{im2col}} function over all examples using > built-in operations. By vectorizing over all examples, the convolution layer > functions can be vectorized as well. > https://issues.apache.org/jira/browse/SYSTEMML-633?focusedCommentId=15244065=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15244065 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1383) Performance testing of individual layer for common data shapes
[ https://issues.apache.org/jira/browse/SYSTEMML-1383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1383: -- Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Performance testing of individual layer for common data shapes > -- > > Key: SYSTEMML-1383 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1383 > Project: SystemML > Issue Type: New Feature >Reporter: Niketan Pansare > Labels: SYSTEMML-618 > > After performance testing, we can move the NN library from staging to utils > or algorithms. Then we can extend source() method to read the nn > layers/optimizer directly from jar as resource similar to mllearn algorithms. > [~reinwald] [~mboehm7] [~mwdus...@us.ibm.com] -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-908) Improve Test Suite
[ https://issues.apache.org/jira/browse/SYSTEMML-908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-908: - Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Improve Test Suite > -- > > Key: SYSTEMML-908 > URL: https://issues.apache.org/jira/browse/SYSTEMML-908 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry >Priority: Minor > Labels: SYSTEMML-618 > Fix For: SystemML 0.11 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-904) Update the API calls in the deep learning notebook examples.
[ https://issues.apache.org/jira/browse/SYSTEMML-904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-904: - Issue Type: Improvement (was: Sub-task) Parent: (was: SYSTEMML-618) > Update the API calls in the deep learning notebook examples. > > > Key: SYSTEMML-904 > URL: https://issues.apache.org/jira/browse/SYSTEMML-904 > Project: SystemML > Issue Type: Improvement >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry >Priority: Minor > Labels: SYSTEMML-618 > Fix For: SystemML 0.11 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-799) Add Gradient Check Testing to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-799: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add Gradient Check Testing to DML Deep Learning Library > --- > > Key: SYSTEMML-799 > URL: https://issues.apache.org/jira/browse/SYSTEMML-799 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-808) Add LSTM layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-808: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add LSTM layer to DML Deep Learning Library > --- > > Key: SYSTEMML-808 > URL: https://issues.apache.org/jira/browse/SYSTEMML-808 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.11 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-802) Add MNIST Softmax Classifier Example to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-802: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add MNIST Softmax Classifier Example to DML Deep Learning Library > - > > Key: SYSTEMML-802 > URL: https://issues.apache.org/jira/browse/SYSTEMML-802 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.11 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-801) Add Builtin Max Pooling layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-801: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add Builtin Max Pooling layer to DML Deep Learning Library > -- > > Key: SYSTEMML-801 > URL: https://issues.apache.org/jira/browse/SYSTEMML-801 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-803) Add MNIST LeNet Example to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-803: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add MNIST LeNet Example to DML Deep Learning Library > > > Key: SYSTEMML-803 > URL: https://issues.apache.org/jira/browse/SYSTEMML-803 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.11 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-800) Add Builtin Convolution layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-800?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-800: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add Builtin Convolution layer to DML Deep Learning Library > -- > > Key: SYSTEMML-800 > URL: https://issues.apache.org/jira/browse/SYSTEMML-800 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-792) Add L2 Regularization layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-792: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add L2 Regularization layer to DML Deep Learning Library > > > Key: SYSTEMML-792 > URL: https://issues.apache.org/jira/browse/SYSTEMML-792 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-798) Add SGD w/ Nesterov Momentum Optimizer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-798: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add SGD w/ Nesterov Momentum Optimizer to DML Deep Learning Library > --- > > Key: SYSTEMML-798 > URL: https://issues.apache.org/jira/browse/SYSTEMML-798 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-795) Add Adam Optimizer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-795: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add Adam Optimizer to DML Deep Learning Library > --- > > Key: SYSTEMML-795 > URL: https://issues.apache.org/jira/browse/SYSTEMML-795 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-793) Add Adagrad Optimizer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-793: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add Adagrad Optimizer to DML Deep Learning Library > -- > > Key: SYSTEMML-793 > URL: https://issues.apache.org/jira/browse/SYSTEMML-793 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-791) Add L1 Regularization layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-791: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add L1 Regularization layer to DML Deep Learning Library > > > Key: SYSTEMML-791 > URL: https://issues.apache.org/jira/browse/SYSTEMML-791 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-783) Add Sigmoid nonlinearity layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-783: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add Sigmoid nonlinearity layer to DML Deep Learning Library > --- > > Key: SYSTEMML-783 > URL: https://issues.apache.org/jira/browse/SYSTEMML-783 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-787) Add L1 Loss layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-787: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add L1 Loss layer to DML Deep Learning Library > -- > > Key: SYSTEMML-787 > URL: https://issues.apache.org/jira/browse/SYSTEMML-787 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-788) Add L2 Loss layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-788: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add L2 Loss layer to DML Deep Learning Library > -- > > Key: SYSTEMML-788 > URL: https://issues.apache.org/jira/browse/SYSTEMML-788 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-782) Add ReLU nonlinearity layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-782?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-782: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add ReLU nonlinearity layer to DML Deep Learning Library > > > Key: SYSTEMML-782 > URL: https://issues.apache.org/jira/browse/SYSTEMML-782 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-784) Add Softmax nonlinearity layer to DML Deep Learning Library
[ https://issues.apache.org/jira/browse/SYSTEMML-784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-784: - Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add Softmax nonlinearity layer to DML Deep Learning Library > --- > > Key: SYSTEMML-784 > URL: https://issues.apache.org/jira/browse/SYSTEMML-784 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > Fix For: SystemML 0.10 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-1680) Add a new max margin loss
[ https://issues.apache.org/jira/browse/SYSTEMML-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-1680: -- Issue Type: New Feature (was: Sub-task) Parent: (was: SYSTEMML-618) > Add a new max margin loss > - > > Key: SYSTEMML-1680 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1680 > Project: SystemML > Issue Type: New Feature >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > Labels: SYSTEMML-618 > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (SYSTEMML-618) Deep Learning DML Library
[ https://issues.apache.org/jira/browse/SYSTEMML-618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry updated SYSTEMML-618: - Issue Type: Epic (was: New Feature) > Deep Learning DML Library > - > > Key: SYSTEMML-618 > URL: https://issues.apache.org/jira/browse/SYSTEMML-618 > Project: SystemML > Issue Type: Epic >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > > This issue tracks the creation of a layers-based *deep learning library* in > pure DML. > The library contains layers with simple {{forward}} (function evaluation) and > {{backward}} (gradient computation) functions for affine, convolution (start > with 2D), max-pooling, non-linearities (relu, sigmoid, softmax, etc.), > dropout, loss functions, other layers, optimizers, and gradient checks. > *Examples*: Please see example *scripts* and *notebooks* in the {{examples}} > folder: > [https://github.com/apache/incubator-systemml/tree/master/scripts/staging/SystemML-NN/examples]. > *SystemML-NN*: > [https://github.com/apache/incubator-systemml/tree/master/scripts/staging/SystemML-NN] > * Layers: > ** Core: > *** Affine > *** Batch Normalization 1D > *** Batch Normalization 2D ("Spatial Batch Normalization") > *** Convolution 2D ("Spatial Convolution") > *** LSTM > *** Max Pooling 2D ("Spatial Max Pooling") > *** RNN > ** Nonlinearities: > *** ReLU > *** Sigmoid > *** Softmax > *** Tanh > ** Loss: > *** Cross-entropy loss > *** L1 loss > *** L2 loss > *** Log ("Logistic") loss > ** Regularization: > *** Dropout > *** L1 reg > *** L2 reg > * Optimizers: > ** Adagrad > ** Adam > ** RMSprop > ** SGD > ** SGD w/ Momentum > ** SGD w/ Nesterov Momentum > * Tests: > ** Gradient Checks > ** Unit Tests -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Closed] (SYSTEMML-1736) Add new 2D top_k utility function
[ https://issues.apache.org/jira/browse/SYSTEMML-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry closed SYSTEMML-1736. - > Add new 2D top_k utility function > - > > Key: SYSTEMML-1736 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1736 > Project: SystemML > Issue Type: Sub-task >Reporter: Mike Dusenberry >Assignee: Fei Hu > Fix For: SystemML 1.0 > > > We should add a new {{top_k2d}} utility function (in {{nn/util.dml}}) that > accepts a matrix {{X}} and return matrices {{values}} and {{indices}} with > the top {{k}} values (i.e. probabilities) and associated indices (i.e. > classes) along a certain dimension. This will be modeled after the > [{{top_k}} function in TensorFlow | > https://www.tensorflow.org/api_docs/python/tf/nn/top_k]. For the 2D case, > {{top_k}} will operate on the channels dimension. A typical use case here is > that in which {{X}} is the output of a {{softmax2d}} layer (so each channel > contains a set of normalized class probabilities), and {{values}} and > {{indices}} will contain the top {{k}} probabilities and indices along the > channel axis. This scenario would be common in an image segmentation > problem, in which every pixel of the output image will have a set of class > probabilities along the channel axis. > Having these {{top-k}} functions will allow us to extract either predict a > single class for each item, or the top {{k}} classes, and therefore may be > more useful that a {{predict_class}} function. > Although we will use {{values}} and {{indices}} as the names of the returned > matrices within the functions, in practice, one is likely to name the results > {{probs}} and {{classes}} in the calling environment. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (SYSTEMML-1736) Add new 2D top_k utility function
[ https://issues.apache.org/jira/browse/SYSTEMML-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry reassigned SYSTEMML-1736: - Assignee: Mike Dusenberry (was: Fei Hu) > Add new 2D top_k utility function > - > > Key: SYSTEMML-1736 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1736 > Project: SystemML > Issue Type: Sub-task >Reporter: Mike Dusenberry >Assignee: Mike Dusenberry > > We should add a new {{top_k2d}} utility function (in {{nn/util.dml}}) that > accepts a matrix {{X}} and return matrices {{values}} and {{indices}} with > the top {{k}} values (i.e. probabilities) and associated indices (i.e. > classes) along a certain dimension. This will be modeled after the > [{{top_k}} function in TensorFlow | > https://www.tensorflow.org/api_docs/python/tf/nn/top_k]. For the 2D case, > {{top_k}} will operate on the channels dimension. A typical use case here is > that in which {{X}} is the output of a {{softmax2d}} layer (so each channel > contains a set of normalized class probabilities), and {{values}} and > {{indices}} will contain the top {{k}} probabilities and indices along the > channel axis. This scenario would be common in an image segmentation > problem, in which every pixel of the output image will have a set of class > probabilities along the channel axis. > Having these {{top-k}} functions will allow us to extract either predict a > single class for each item, or the top {{k}} classes, and therefore may be > more useful that a {{predict_class}} function. > Although we will use {{values}} and {{indices}} as the names of the returned > matrices within the functions, in practice, one is likely to name the results > {{probs}} and {{classes}} in the calling environment. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (SYSTEMML-1736) Add new 2D top_k utility function
[ https://issues.apache.org/jira/browse/SYSTEMML-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry reassigned SYSTEMML-1736: - Assignee: Fei Hu (was: Mike Dusenberry) > Add new 2D top_k utility function > - > > Key: SYSTEMML-1736 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1736 > Project: SystemML > Issue Type: Sub-task >Reporter: Mike Dusenberry >Assignee: Fei Hu > > We should add a new {{top_k2d}} utility function (in {{nn/util.dml}}) that > accepts a matrix {{X}} and return matrices {{values}} and {{indices}} with > the top {{k}} values (i.e. probabilities) and associated indices (i.e. > classes) along a certain dimension. This will be modeled after the > [{{top_k}} function in TensorFlow | > https://www.tensorflow.org/api_docs/python/tf/nn/top_k]. For the 2D case, > {{top_k}} will operate on the channels dimension. A typical use case here is > that in which {{X}} is the output of a {{softmax2d}} layer (so each channel > contains a set of normalized class probabilities), and {{values}} and > {{indices}} will contain the top {{k}} probabilities and indices along the > channel axis. This scenario would be common in an image segmentation > problem, in which every pixel of the output image will have a set of class > probabilities along the channel axis. > Having these {{top-k}} functions will allow us to extract either predict a > single class for each item, or the top {{k}} classes, and therefore may be > more useful that a {{predict_class}} function. > Although we will use {{values}} and {{indices}} as the names of the returned > matrices within the functions, in practice, one is likely to name the results > {{probs}} and {{classes}} in the calling environment. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Closed] (SYSTEMML-1678) Add new 1D top_k utility function
[ https://issues.apache.org/jira/browse/SYSTEMML-1678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry closed SYSTEMML-1678. - > Add new 1D top_k utility function > - > > Key: SYSTEMML-1678 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1678 > Project: SystemML > Issue Type: Sub-task >Reporter: Mike Dusenberry >Assignee: Fei Hu > Fix For: SystemML 1.0 > > > We should add new {{top_k}} and {{top_k2d}} utility functions (in > {{nn/util.dml}}) that accept a matrix {{X}} and return matrices {{values}} > and {{indices}} with the top {{k}} values (i.e. probabilities) and associated > indices (i.e. classes) along a certain dimension. This will be modeled after > the [{{top_k}} function in TensorFlow | > https://www.tensorflow.org/api_docs/python/tf/nn/top_k] For the 1D case, > {{top_k}} will operate on the columns dimension. A typical use case is that > in which {{X}} is the output of a {{softmax}} layer (so each row contains a > set of normalized class probabilities), and {{values}} and {{indices}} will > contain rows with the top {{k}} probabilities and class indices as described > above. For the 2D case, {{top_k}} will operate on the channels dimension. A > typical use case here is that in which {{X}} is the output of a {{softmax2d}} > layer (so each channel contains a set of normalized class probabilities), and > {{values}} and {{indices}} will contain the top {{k}} probabilities and > indices along the channel axis. This scenario would be common in an image > segmentation problem, in which every pixel of the output image will have a > set of class probabilities along the channel axis. > Having these {{top-k}} functions will allow us to extract either predict a > single class for each item, or the top {{k}} classes, and therefore may be > more useful that a {{predict_class}} function. > Although we will use {{values}} and {{indices}} as the names of the returned > matrices within the functions, in practice, one is likely to name the results > {{probs}} and {{classes}} in the calling environment. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Resolved] (SYSTEMML-1678) Add new 1D top_k utility function
[ https://issues.apache.org/jira/browse/SYSTEMML-1678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Dusenberry resolved SYSTEMML-1678. --- Resolution: Fixed Fix Version/s: SystemML 1.0 Merged in [commit 2e78eb9 | https://github.com/apache/systemml/commit/2e78eb9a56148f9e27ea1cb646e2d6dd528d251e]. > Add new 1D top_k utility function > - > > Key: SYSTEMML-1678 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1678 > Project: SystemML > Issue Type: Sub-task >Reporter: Mike Dusenberry >Assignee: Fei Hu > Fix For: SystemML 1.0 > > > We should add new {{top_k}} and {{top_k2d}} utility functions (in > {{nn/util.dml}}) that accept a matrix {{X}} and return matrices {{values}} > and {{indices}} with the top {{k}} values (i.e. probabilities) and associated > indices (i.e. classes) along a certain dimension. This will be modeled after > the [{{top_k}} function in TensorFlow | > https://www.tensorflow.org/api_docs/python/tf/nn/top_k] For the 1D case, > {{top_k}} will operate on the columns dimension. A typical use case is that > in which {{X}} is the output of a {{softmax}} layer (so each row contains a > set of normalized class probabilities), and {{values}} and {{indices}} will > contain rows with the top {{k}} probabilities and class indices as described > above. For the 2D case, {{top_k}} will operate on the channels dimension. A > typical use case here is that in which {{X}} is the output of a {{softmax2d}} > layer (so each channel contains a set of normalized class probabilities), and > {{values}} and {{indices}} will contain the top {{k}} probabilities and > indices along the channel axis. This scenario would be common in an image > segmentation problem, in which every pixel of the output image will have a > set of class probabilities along the channel axis. > Having these {{top-k}} functions will allow us to extract either predict a > single class for each item, or the top {{k}} classes, and therefore may be > more useful that a {{predict_class}} function. > Although we will use {{values}} and {{indices}} as the names of the returned > matrices within the functions, in practice, one is likely to name the results > {{probs}} and {{classes}} in the calling environment. -- This message was sent by Atlassian JIRA (v6.4.14#64029)