| #------------------------------------------------------------- |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| #------------------------------------------------------------- |
| |
| gradients = function(list[unknown] model, |
| list[unknown] hyperparams, |
| matrix[double] features, |
| matrix[double] labels) |
| return (list[unknown] gradients) { |
| gradients = model; |
| } |
| |
| aggregation = function(list[unknown] model, |
| list[unknown] hyperparams, |
| list[unknown] gradients) |
| return (list[unknown] modelResult) { |
| modelResult = model; |
| } |
| |
| model = list(matrix(0, 2, 3)) |
| X = matrix(1, 2, 3) |
| Y = matrix(2, 2, 3) |
| X_val = matrix(3, 2, 3) |
| Y_val = matrix(4, 2, 3) |
| hps = list() |
| |
| # Use paramserv function |
| supd = ".defaultNS::gradients"; |
| sagg = ".defaultNS::aggregation"; |
| model = paramserv(model=model, k=$workers, features=X, labels=Y, val_features=X_val, val_labels=Y_val, |
| upd=supd, agg=sagg, mode="LOCAL", utype="SBP", freq="EPOCH", scheme=$scheme, epochs=1, hyperparams=hps, num_backup_workers=$backup_workers) |
| |
| print(toString(model)) |