class ParallelOptimizer[T] extends Optimizer[T, MiniBatch[T]]
The optimizer run on a distributed cluster.
- Alphabetic
- By Inheritance
- ParallelOptimizer
- Optimizer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
ParallelOptimizer(_model: Module[T], _dataset: DistributedDataSet[MiniBatch[T]], _criterion: Criterion[T])(implicit arg0: ClassTag[T], ev: TensorNumeric[T])
- _model
train model
- _dataset
train dataset
- _criterion
loss function
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
var
checkSingleton: Boolean
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
checkpointPath: Option[String]
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
checkpointTrigger: Option[Trigger]
- Attributes
- protected
- Definition Classes
- Optimizer
-
def
clearState(): Unit
Clean some internal states, so this or other optimizers can run optimize again
Clean some internal states, so this or other optimizers can run optimize again
This method will be called at the end of optimize. You need not call it if optimize succeed. If the optimize fails, you may call it before next optimize.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
var
computeThresholdbatchSize: Int
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
criterion: Criterion[T]
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
dataset: DataSet[MiniBatch[T]]
- Attributes
- protected
- Definition Classes
- Optimizer
-
def
disableGradientClipping(): ParallelOptimizer.this.type
Disable gradient clipping
Disable gradient clipping
- Definition Classes
- Optimizer
-
var
dropPercentage: Double
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
endWhen: Trigger
- Attributes
- protected
- Definition Classes
- Optimizer
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getCheckpointPath(): Option[String]
Get the directory of saving checkpoint
Get the directory of saving checkpoint
- Definition Classes
- Optimizer
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
var
isOverWrite: Boolean
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
maxDropPercentage: Double
- Attributes
- protected
- Definition Classes
- Optimizer
- val metrics: Metrics
-
var
model: Module[T]
- Attributes
- protected
- Definition Classes
- Optimizer
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
var
optimMethods: Map[String, OptimMethod[T]]
- Attributes
- protected
- Definition Classes
- Optimizer
-
def
optimize(): Module[T]
Trigger the optimization process
Trigger the optimization process
- returns
the model to be trained
- Definition Classes
- ParallelOptimizer → Optimizer
-
def
overWriteCheckpoint(): ParallelOptimizer.this.type
Enable overwrite saving checkpoint
Enable overwrite saving checkpoint
- Definition Classes
- Optimizer
-
var
parameterProcessors: ArrayBuffer[ParameterProcessor]
a list of ParameterProcessor, orders matter
a list of ParameterProcessor, orders matter
- Attributes
- protected
- Definition Classes
- Optimizer
-
def
prepareInput(): Unit
- Definition Classes
- ParallelOptimizer → Optimizer
-
def
reserveOptim(reserve: Boolean): ParallelOptimizer.this.type
- Definition Classes
- Optimizer
-
def
setCheckpoint(path: String, trigger: Trigger): ParallelOptimizer.this.type
Set a check point saved at
pathtriggered bytriggerSet a check point saved at
pathtriggered bytrigger- path
the directory to save
- trigger
how often to save the check point
- returns
the optimizer
- Definition Classes
- Optimizer
-
def
setConstantGradientClipping(min: Double, max: Double): ParallelOptimizer.this.type
Set constant gradient clipping
Set constant gradient clipping
- min
the minimum value to clip by
- max
the maximum value to clip by
- Definition Classes
- Optimizer
-
def
setCriterion(newCriterion: Criterion[T]): ParallelOptimizer.this.type
Set a new criterion to the optimizer
-
def
setDropModuleProperty(dropPercentage: Double, maxDropPercentage: Double, batchsize: Int = 100, warmupIteration: Int = 200): ParallelOptimizer.this.type
Set dropping a certain percentage (
dropPercentage) of models during distributed training to accelerate, because some cached model may take too long.Set dropping a certain percentage (
dropPercentage) of models during distributed training to accelerate, because some cached model may take too long.- dropPercentage
drop percentage
- maxDropPercentage
max drop percentage
- batchsize
batch size
- warmupIteration
how may iteration to warm up
- returns
this optimizer
- Definition Classes
- Optimizer
-
def
setEndWhen(endWhen: Trigger): ParallelOptimizer.this.type
When to stop, passed in a Trigger
-
def
setGradientClippingByl2Norm(l2NormThreshold: Double): ParallelOptimizer.this.type
Clip gradient to a maximum L2-norm
Clip gradient to a maximum L2-norm
- l2NormThreshold
gradient L2-Norm threshold
- Definition Classes
- Optimizer
-
def
setModel(newModel: Module[T]): ParallelOptimizer.this.type
Set a model to the optimizer.
Set a model to the optimizer. Notice: if current optimMethod in this optimizer is not a global optimMethod, this setModel will throw an exception. You should use setModelAndOptimMethods instead.
- newModel
new model
- Definition Classes
- Optimizer
-
def
setModelAndOptimMethods(newModel: Module[T], newOptimMethods: Map[String, OptimMethod[T]]): ParallelOptimizer.this.type
Set new model and new optimMethods to the optimizer.
Set new model and new optimMethods to the optimizer.
- newModel
new model
- newOptimMethods
new optimMethods
- Definition Classes
- Optimizer
-
def
setOptimMethod(method: OptimMethod[T]): ParallelOptimizer.this.type
Set an optimization method
-
def
setOptimMethods(method: Map[String, OptimMethod[T]]): ParallelOptimizer.this.type
Set optimization methods for each submodule.
Set optimization methods for each submodule.
- method
A mapping of submodule -> OptimMethod
- Definition Classes
- Optimizer
- def setPriorities(priorities: Map[String, Int]): Unit
-
def
setState(state: Table): ParallelOptimizer.this.type
Set a state(learning rate, epochs...) to the optimizer
Set a state(learning rate, epochs...) to the optimizer
- state
the state to be saved
- Definition Classes
- Optimizer
-
def
setTrainData(sampleRDD: RDD[Sample[T]], batchSize: Int, featurePaddingParam: PaddingParam[T] = null, labelPaddingParam: PaddingParam[T] = null): ParallelOptimizer.this.type
Set new train dataset.
Set new train dataset.
- sampleRDD
training Samples
- batchSize
mini batch size
- featurePaddingParam
feature padding strategy, see com.intel.analytics.bigdl.dataset.PaddingParam for details.
- labelPaddingParam
label padding strategy, see com.intel.analytics.bigdl.dataset.PaddingParam for details.
- returns
the optimizer
- Definition Classes
- ParallelOptimizer → Optimizer
-
def
setTrainData(sampleRDD: RDD[Sample[T]], batchSize: Int, miniBatch: MiniBatch[T]): ParallelOptimizer.this.type
Set new train dataset.
Set new train dataset. User can supply a customized implementation of trait MiniBatch to define how data is organized and retrieved in a mini batch.
- sampleRDD
training Samples
- batchSize
mini batch size
- returns
the Optimizer
- Definition Classes
- ParallelOptimizer → Optimizer
-
def
setTrainSummary(trainSummary: TrainSummary): ParallelOptimizer.this.type
Enable train summary.
Enable train summary.
- Definition Classes
- Optimizer
-
def
setValidation(trigger: Trigger, sampleRDD: RDD[Sample[T]], vMethods: Array[ValidationMethod[T]], batchSize: Int, miniBatch: MiniBatch[T]): ParallelOptimizer.this.type
Set validate evaluation
Set validate evaluation
- trigger
how often to evaluation validation set
- sampleRDD
validate data set in type of RDD of Sample
- vMethods
a set of validation method ValidationMethod
- batchSize
batch size
- miniBatch
construct MiniBatch with a specified miniBatch type
- Definition Classes
- Optimizer
-
def
setValidation(trigger: Trigger, sampleRDD: RDD[Sample[T]], vMethods: Array[ValidationMethod[T]], batchSize: Int): ParallelOptimizer.this.type
Set a validate evaluation
Set a validate evaluation
- trigger
how often to evaluation validation set
- sampleRDD
validate data set in type of RDD of Sample
- vMethods
a set of validation method ValidationMethod
- batchSize
batch size
- returns
this optimizer
- Definition Classes
- Optimizer
-
def
setValidation(trigger: Trigger, sampleRDD: RDD[Sample[T]], vMethods: Array[ValidationMethod[T]], batchSize: Int, featurePaddingParam: PaddingParam[T], labelPaddingParam: PaddingParam[T]): ParallelOptimizer.this.type
Set a validate evaluation
Set a validate evaluation
- trigger
how often to evaluation validation set
- sampleRDD
validate data set in type of RDD of Sample
- vMethods
a set of validation method ValidationMethod
- batchSize
batch size
- featurePaddingParam
feature padding strategy, see com.intel.analytics.bigdl.dataset.PaddingParam for details.
- labelPaddingParam
label padding strategy, see com.intel.analytics.bigdl.dataset.PaddingParam for details.
- returns
this optimizer
- Definition Classes
- Optimizer
-
def
setValidation(trigger: Trigger, dataset: DataSet[MiniBatch[T]], vMethods: Array[ValidationMethod[T]]): ParallelOptimizer.this.type
Set a validate evaluation
Set a validate evaluation
- trigger
how often to evaluation validation set
- dataset
validate data set in type of DataSet of MiniBatch
- vMethods
a set of validation method ValidationMethod
- returns
this optimizer
- Definition Classes
- Optimizer
-
def
setValidationSummary(validationSummary: ValidationSummary): ParallelOptimizer.this.type
Enable validation summary.
Enable validation summary.
- Definition Classes
- Optimizer
-
var
state: Table
- Attributes
- protected
- Definition Classes
- Optimizer
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
var
trainSummary: Option[TrainSummary]
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
validationDataSet: Option[DataSet[MiniBatch[T]]]
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
validationMethods: Option[Array[ValidationMethod[T]]]
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
validationSummary: Option[ValidationSummary]
- Attributes
- protected
- Definition Classes
- Optimizer
-
var
validationTrigger: Option[Trigger]
- Attributes
- protected
- Definition Classes
- Optimizer
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
var
warmupIterationNum: Int
- Attributes
- protected
- Definition Classes
- Optimizer
Deprecated Value Members
-
def
disableCheckSingleton(): ParallelOptimizer.this.type
make optimizer not check the singleton model on a node
make optimizer not check the singleton model on a node
- Definition Classes
- Optimizer
- Annotations
- @deprecated
- Deprecated
(Since version 0.1.0) Use bigdl.check.singleton instead