Package ml.shifu.guagua.example.lnr
Class LinearRegressionWorker
- java.lang.Object
-
- ml.shifu.guagua.worker.AbstractWorkerComputable<LinearRegressionParams,LinearRegressionParams,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable>,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text>>
-
- ml.shifu.guagua.example.lnr.LinearRegressionWorker
-
- All Implemented Interfaces:
ml.shifu.guagua.worker.WorkerComputable<LinearRegressionParams,LinearRegressionParams>
public class LinearRegressionWorker extends ml.shifu.guagua.worker.AbstractWorkerComputable<LinearRegressionParams,LinearRegressionParams,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable>,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text>>
LinearRegressionWorkerdefines logic to accumulate local linear regression gradients.At first iteration, wait for master to use the consistent initiating model.
At other iterations, workers include:
- 1. Update local model by using global model from last step..
- 2. Accumulate gradients by using local worker input data.
- 3. Send new local gradients to master by returning parameters.
WARNING: Input data should be normalized before, or you will get a very bad model.
-
-
Constructor Summary
Constructors Constructor Description LinearRegressionWorker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LinearRegressionParamsdoCompute(ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)voidinit(ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)voidinitRecordReader(ml.shifu.guagua.io.GuaguaFileSplit fileSplit)voidload(ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable> currentKey, ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text> currentValue, ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)protected voidpostLoad(ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)
-
-
-
Method Detail
-
initRecordReader
public void initRecordReader(ml.shifu.guagua.io.GuaguaFileSplit fileSplit) throws IOException- Specified by:
initRecordReaderin classml.shifu.guagua.worker.AbstractWorkerComputable<LinearRegressionParams,LinearRegressionParams,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable>,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text>>- Throws:
IOException
-
init
public void init(ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)
- Specified by:
initin classml.shifu.guagua.worker.AbstractWorkerComputable<LinearRegressionParams,LinearRegressionParams,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable>,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text>>
-
doCompute
public LinearRegressionParams doCompute(ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)
- Specified by:
doComputein classml.shifu.guagua.worker.AbstractWorkerComputable<LinearRegressionParams,LinearRegressionParams,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable>,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text>>
-
postLoad
protected void postLoad(ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)
- Overrides:
postLoadin classml.shifu.guagua.worker.AbstractWorkerComputable<LinearRegressionParams,LinearRegressionParams,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable>,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text>>
-
load
public void load(ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable> currentKey, ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text> currentValue, ml.shifu.guagua.worker.WorkerContext<LinearRegressionParams,LinearRegressionParams> context)- Specified by:
loadin classml.shifu.guagua.worker.AbstractWorkerComputable<LinearRegressionParams,LinearRegressionParams,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.LongWritable>,ml.shifu.guagua.hadoop.io.GuaguaWritableAdapter<org.apache.hadoop.io.Text>>
-
-