From issues-return-8376-archive-asf-public=cust-asf.ponee.io@systemml.apache.org Sun May 13 16:19:05 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 4583618076D for ; Sun, 13 May 2018 16:19:05 +0200 (CEST) Received: (qmail 77796 invoked by uid 500); 13 May 2018 14:19:04 -0000 Mailing-List: contact issues-help@systemml.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@systemml.apache.org Delivered-To: mailing list issues@systemml.apache.org Received: (qmail 77787 invoked by uid 99); 13 May 2018 14:19:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 13 May 2018 14:19:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 03F45C00D5 for ; Sun, 13 May 2018 14:19:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -110.311 X-Spam-Level: X-Spam-Status: No, score=-110.311 tagged_above=-999 required=6.31 tests=[ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_SPF_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id Gs4gNaFNhuil for ; Sun, 13 May 2018 14:19:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 556895F254 for ; Sun, 13 May 2018 14:19:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 67C0FE0239 for ; Sun, 13 May 2018 14:19:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 1FD8E217A1 for ; Sun, 13 May 2018 14:19:00 +0000 (UTC) Date: Sun, 13 May 2018 14:19:00 +0000 (UTC) From: "LI Guobao (JIRA)" To: issues@systemml.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (SYSTEMML-2299) API design of the paramserv function MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/SYSTEMML-2299?page=3Dcom.atlas= sian.jira.plugin.system.issuetabpanels:all-tabpanel ] LI Guobao updated SYSTEMML-2299: -------------------------------- Description:=20 The objective of =E2=80=9Cparamserv=E2=80=9D built-in function is to update= an initial or existing model with configuration. An initial function signa= ture would be:=C2=A0 {code:java} model'=3Dparamserv(model, X, y, X_val, y_val, upd=3D"fun1", agg=3D"fun2", m= ode=3D"BSP", freq=3D"EPOCH", epochs=3D100, batchsize=3D64, k=3D7, scheme=3D= disjoint_contiguous, hyperparam=3Dparams, checkpoint=3DNONE){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), t= he training features and labels, the validation features and labels, the ba= tch 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 epo= ch, 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 * X : training features matrix * y : training label matrix * X_val : validation features matrix * y_val : validation label matrix * upd : the name of gradient calculation function * agg : the name of gradient aggregation function * mode (options: BSP, ASP, SSP): the updating mode * freq (options: EPOCH, BATCH): the frequence of updates * epochs : the number of epoch * batchsize : the size of batch * k : the degree of parallelism * scheme (options: disjoint_contiguous, disjoint_round_robin, dis= joint_random, overlap_reshuffle): the scheme of data partition, i.e., how t= he data is distributed across workers * hyperparam [optional]: a list consisting of the additional hyper = parameters, e.g., learning rate, momentum * checkpoint (options: NONE(default), EPOCH, EPOCH10) [optional]:= the checkpoint strategy, we could set a checkpoint for each epoch or each = 10 epochs=C2=A0 *Output*: * model' : a list consisting of the updated weight and bias matrices was: The objective of =E2=80=9Cparamserv=E2=80=9D built-in function is to update= an initial or existing model with configuration. An initial function signa= ture would be:=C2=A0 {code:java} model'=3Dparamserv(model, X, y, X_val, y_val, upd=3D"fun1", agg=3D"fun2", m= ode=3D"BSP", freq=3D"EPOCH", epochs=3D100, batchsize=3D64, k=3D7, scheme=3D= disjoint_contiguous, hyperparam=3Dparams, checkpoint=3DNONE){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), t= he training features and labels, the validation features and labels, the ba= tch 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 epo= ch, 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 * X : training features matrix * y : training label matrix * X_val : validation features matrix * y_val : validation label matrix * upd : the name of gradient calculation function * agg : the name of gradient aggregation function * mode (options: BSP, ASP, SSP): the updating mode * freq (options: EPOCH, BATCH): the frequence of updates * epochs : the number of epoch * batchsize : the size of batch * k : the degree of parallelism * scheme (options: disjoint_contiguous, disjoint_round_robin, dis= joint_random, overlap_reshuffle): the scheme of data partition, i.e., how t= he data is distributed across workers * hyperparam [optional]: a list consisting of the additional hyper = parameters, e.g., learning rate, momentum * checkpoint (options: NONE(default), EPOCH, EPOCH10) [optional]:= the checkpoint strategy, we could set a checkpoint for each epoch or each = 10 epochs=C2=A0 Output: * model' : a list consisting of the updated weight and bias matrices > API design of the paramserv function > ------------------------------------ > > Key: SYSTEMML-2299 > URL: https://issues.apache.org/jira/browse/SYSTEMML-2299 > Project: SystemML > Issue Type: Sub-task > Reporter: LI Guobao > Assignee: LI Guobao > Priority: Major > > The objective of =E2=80=9Cparamserv=E2=80=9D built-in function is to upda= te an initial or existing model with configuration. An initial function sig= nature would be:=C2=A0 > {code:java} > model'=3Dparamserv(model, X, y, X_val, y_val, upd=3D"fun1", agg=3D"fun2",= mode=3D"BSP", freq=3D"EPOCH", epochs=3D100, batchsize=3D64, k=3D7, scheme= =3Ddisjoint_contiguous, hyperparam=3Dparams, checkpoint=3DNONE){code} > We are interested in providing the model (which will be a struct-like dat= a 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 strateg= y (e.g. sync, async, hogwild!, stale-synchronous), the update frequency (e.= g. epoch or mini-batch), the gradient aggregation function, the number of e= poch, the batch size, the degree of parallelism, the data partition scheme,= a list of additional hyper parameters, as well as the checkpointing strate= gy. And the function will return a trained model in struct format. > *Inputs*: > * model : a list consisting of the weight and bias matrices > * X : training features matrix > * y : training label matrix > * X_val : validation features matrix > * y_val : validation label matrix > * upd : the name of gradient calculation function > * agg : the name of gradient aggregation function > * mode (options: BSP, ASP, SSP): the updating mode > * freq (options: EPOCH, BATCH): the frequence of updates > * epochs : the number of epoch > * batchsize : the size of batch > * k : the degree of parallelism > * scheme (options: disjoint_contiguous, disjoint_round_robin, d= isjoint_random, overlap_reshuffle): the scheme of data partition, i.e., how= the data is distributed across workers > * hyperparam [optional]: a list consisting of the additional hype= r parameters, e.g., learning rate, momentum > * checkpoint (options: NONE(default), EPOCH, EPOCH10) [optional= ]: the checkpoint strategy, we could set a checkpoint for each epoch or eac= h 10 epochs=C2=A0 > *Output*: > * model' : a list consisting of the updated weight and bias matric= es -- This message was sent by Atlassian JIRA (v7.6.3#76005)