[jira] [Resolved] (SYSTEMML-2346) Add some optional argument

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao resolved SYSTEMML-2346.
-
   Resolution: Resolved
Fix Version/s: SystemML 1.2

> Add some optional argument
> --
>
> Key: SYSTEMML-2346
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2346
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: LI Guobao
>Assignee: LI Guobao
>Priority: Major
> Fix For: SystemML 1.2
>
>
> It aims to make the argument _update frequency_, _level of parallelism_, 
> _scheme._ And also the [API 
> design|https://issues.apache.org/jira/browse/SYSTEMML-2299] has been updated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (SYSTEMML-2321) Aggregation service

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao resolved SYSTEMML-2321.
-
   Resolution: Fixed
Fix Version/s: SystemML 1.2

> Aggregation service
> ---
>
> Key: SYSTEMML-2321
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2321
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: LI Guobao
>Assignee: LI Guobao
>Priority: Major
> Fix For: SystemML 1.2
>
>
> The aggregation service is independant of local or remote workers. It is 
> responsible for executing the parameter updating.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (SYSTEMML-2322) Local workers

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao resolved SYSTEMML-2322.
-
   Resolution: Resolved
Fix Version/s: SystemML 1.2

> Local workers
> -
>
> Key: SYSTEMML-2322
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2322
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: LI Guobao
>Assignee: LI Guobao
>Priority: Major
> Fix For: SystemML 1.2
>
>
> It aims to implement the local workers. And it also contains the data 
> management such as data distribution, program separation via function 
> replication. We would like to support four schemes for data distribution such 
> as disjoint_contiguous (contiguous splits of X and y), disjoint_round_robin 
> (distributed X and y rowwise), disjoint_random, overlap_reshuffle (every 
> worker gets all data but reshuffled in a different random order).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (SYSTEMML-2346) Add some optional argument

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2346:

Description: It aims to make the argument _update frequency_, _level of 
parallelism_, _scheme._ And also the [API 
design|https://issues.apache.org/jira/browse/SYSTEMML-2299] has been updated.  
(was: It aims to make the argument _update frequency_, _level of parallelism_, 
_scheme._ And also the API design has been updated.)

> Add some optional argument
> --
>
> Key: SYSTEMML-2346
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2346
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: LI Guobao
>Assignee: LI Guobao
>Priority: Major
>
> It aims to make the argument _update frequency_, _level of parallelism_, 
> _scheme._ And also the [API 
> design|https://issues.apache.org/jira/browse/SYSTEMML-2299] has been updated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (SYSTEMML-2346) Add some optional argument

2018-05-25 Thread LI Guobao (JIRA)
LI Guobao created SYSTEMML-2346:
---

 Summary: Add some optional argument
 Key: SYSTEMML-2346
 URL: https://issues.apache.org/jira/browse/SYSTEMML-2346
 Project: SystemML
  Issue Type: Sub-task
Reporter: LI Guobao
Assignee: LI Guobao


It aims to make the argument _update frequency_, _level of parallelism_, 
_scheme._ And also the API design has been updated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (SYSTEMML-2345) Add the mnist-lenet test

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao resolved SYSTEMML-2345.
-
   Resolution: Resolved
Fix Version/s: SystemML 1.2

> Add the mnist-lenet test
> 
>
> Key: SYSTEMML-2345
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2345
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: LI Guobao
>Assignee: LI Guobao
>Priority: Major
> Fix For: SystemML 1.2
>
>
> It aims to add a nn test which generates some random data as well as launches 
> the paramserv script.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (SYSTEMML-2299) API design of the paramserv function

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2299:

Description: 
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  [optional] (default: BATCH) (options: EPOCH, BATCH) : the 
frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default: 64): the size of batch, if the 
update frequence is "EPOCH", this argument will be ignored
 * k  [optional] (default: number of vcores, otherwise vcores / 2 if 
using openblas): the degree of parallelism
 * scheme  [optional] (default: disjoint_contiguous) (options: 
disjoint_contiguous, disjoint_round_robin, disjoint_random, overlap_reshuffle): 
the scheme of data partition, i.e., how the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing [optional] (default: NONE) (options: NONE, EPOCH, 
EPOCH10) : the checkpoint strategy, we could set a checkpoint for each epoch or 
each 10 epochs 

*Output*:
 * model' : a list consisting of the updated weight and bias matrices

  was:
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  (options: EPOCH, BATCH) [optional] (default value: BATCH): the 
frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k  [optional] (default value: number of vcores, otherwise vcores / 
2 if using openblas): the degree of parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learn

[jira] [Updated] (SYSTEMML-2299) API design of the paramserv function

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2299:

Description: 
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  (options: EPOCH, BATCH) [optional] (default value: BATCH): the 
frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k  [optional] (default value: number of vcores, otherwise vcores / 
2 if using openblas): the degree of parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPOCH10) [optional]: 
the checkpoint strategy, we could set a checkpoint for each epoch or each 10 
epochs 

*Output*:
 * model' : a list consisting of the updated weight and bias matrices

  was:
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  (options: EPOCH, BATCH) [optional] (default value: BATCH): the 
frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k  [optional] (default value: number of vcores): the degree of 
parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPO

[jira] [Updated] (SYSTEMML-2299) API design of the paramserv function

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2299:

Description: 
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  (options: EPOCH, BATCH) [optional] (default value: BATCH): the 
frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k  [optional] (default value: number of vcores): the degree of 
parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPOCH10) [optional]: 
the checkpoint strategy, we could set a checkpoint for each epoch or each 10 
epochs 

*Output*:
 * model' : a list consisting of the updated weight and bias matrices

  was:
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  (options: EPOCH, BATCH) [optional] (default value: BATCH): the 
frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k : the degree of parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPOCH10) [optional]: 
the checkpoint strategy, we could set a checkpoint for each epoch o

[jira] [Updated] (SYSTEMML-2299) API design of the paramserv function

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2299:

Description: 
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  (options: EPOCH, BATCH) [optional] (default value: BATCH): the 
frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k : the degree of parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPOCH10) [optional]: 
the checkpoint strategy, we could set a checkpoint for each epoch or each 10 
epochs 

*Output*:
 * model' : a list consisting of the updated weight and bias matrices

  was:
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP) [optional] (default value: BSP): the 
updating mode
 * freq  (options: EPOCH, BATCH): the frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k : the degree of parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPOCH10) [optional]: 
the checkpoint strategy, we could set a checkpoint for each epoch or each 10 
epochs 

*Output*:
 * model' : a list

[jira] [Updated] (SYSTEMML-2299) API design of the paramserv function

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2299:

Description: 
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP) [optional] (default value: BSP): the 
updating mode
 * freq  (options: EPOCH, BATCH): the frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k : the degree of parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPOCH10) [optional]: 
the checkpoint strategy, we could set a checkpoint for each epoch or each 10 
epochs 

*Output*:
 * model' : a list consisting of the updated weight and bias matrices

  was:
The objective of “paramserv” built-in function is to update an initial or 
existing model with configuration. An initial function signature would be: 
{code:java}
model'=paramserv(model=paramsList, features=X, labels=Y, val_features=X_val, 
val_labels=Y_val, upd="fun1", agg="fun2", mode="LOCAL", utype="BSP", 
freq="BATCH", epochs=100, batchsize=64, k=7, scheme="disjoint_contiguous", 
hyperparams=params, checkpointing="NONE"){code}
We are interested in providing the model (which will be a struct-like data 
structure consisting of the weights, the biases and the hyperparameters), the 
training features and labels, the validation features and labels, the batch 
update function (i.e., gradient calculation func), the update strategy (e.g. 
sync, async, hogwild!, stale-synchronous), the update frequency (e.g. epoch or 
mini-batch), the gradient aggregation function, the number of epoch, the batch 
size, the degree of parallelism, the data partition scheme, a list of 
additional hyper parameters, as well as the checkpointing strategy. And the 
function will return a trained model in struct format.

*Inputs*:
 * model : a list consisting of the weight and bias matrices
 * features : training features matrix
 * labels : training label matrix
 * val_features : validation features matrix
 * val_labels : validation label matrix
 * upd : the name of gradient calculation function
 * agg : the name of gradient aggregation function
 * mode  (options: LOCAL, REMOTE_SPARK): the execution backend where 
the parameter is executed
 * utype  (options: BSP, ASP, SSP): the updating mode
 * freq  (options: EPOCH, BATCH): the frequence of updates
 * epochs : the number of epoch
 * batchsize  [optional] (default value: 64): the size of batch, if 
the update frequence is "EPOCH", this argument will be ignored
 * k : the degree of parallelism
 * scheme  (options: disjoint_contiguous, disjoint_round_robin, 
disjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how 
the data is distributed across workers
 * hyperparams  [optional]: a list consisting of the additional hyper 
parameters, e.g., learning rate, momentum
 * checkpointing  (options: NONE(default), EPOCH, EPOCH10) [optional]: 
the checkpoint strategy, we could set a checkpoint for each epoch or each 10 
epochs 

*Output*:
 * model' : a list consisting of the updated weight a

[jira] [Updated] (SYSTEMML-2344) Determine the level of par

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2344:

Description: 
This task aims to determine the number of the local workers according to the 
vcores.

https://issues.apache.org/jira/browse/SYSTEMML-2085?focusedCommentId=16489595&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16489595

  was:This task aims to determine the number of the local workers according to 
the vcores.


> Determine the level of par
> --
>
> Key: SYSTEMML-2344
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2344
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: LI Guobao
>Assignee: LI Guobao
>Priority: Major
>
> This task aims to determine the number of the local workers according to the 
> vcores.
> https://issues.apache.org/jira/browse/SYSTEMML-2085?focusedCommentId=16489595&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16489595



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (SYSTEMML-2345) Add the mnist-lenet test

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao updated SYSTEMML-2345:

Description: It aims to add a nn test which generates some random data as 
well as launches the paramserv script.

> Add the mnist-lenet test
> 
>
> Key: SYSTEMML-2345
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2345
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: LI Guobao
>Assignee: LI Guobao
>Priority: Major
>
> It aims to add a nn test which generates some random data as well as launches 
> the paramserv script.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (SYSTEMML-2345) Add the mnist-lenet test

2018-05-25 Thread LI Guobao (JIRA)
LI Guobao created SYSTEMML-2345:
---

 Summary: Add the mnist-lenet test
 Key: SYSTEMML-2345
 URL: https://issues.apache.org/jira/browse/SYSTEMML-2345
 Project: SystemML
  Issue Type: Sub-task
Reporter: LI Guobao
Assignee: LI Guobao






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (SYSTEMML-2086) Push/pull service

2018-05-25 Thread LI Guobao (JIRA)

 [ 
https://issues.apache.org/jira/browse/SYSTEMML-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

LI Guobao resolved SYSTEMML-2086.
-
   Resolution: Resolved
Fix Version/s: SystemML 1.2

> Push/pull service
> -
>
> Key: SYSTEMML-2086
> URL: https://issues.apache.org/jira/browse/SYSTEMML-2086
> Project: SystemML
>  Issue Type: Sub-task
>Reporter: Matthias Boehm
>Assignee: LI Guobao
>Priority: Major
> Fix For: SystemML 1.2
>
>
> This part aims to implement the push/pull service for local backend.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (SYSTEMML-2344) Determine the level of par

2018-05-25 Thread LI Guobao (JIRA)
LI Guobao created SYSTEMML-2344:
---

 Summary: Determine the level of par
 Key: SYSTEMML-2344
 URL: https://issues.apache.org/jira/browse/SYSTEMML-2344
 Project: SystemML
  Issue Type: Sub-task
Reporter: LI Guobao
Assignee: LI Guobao


This task aims to determine the number of the local workers according to the 
vcores.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)