class LarsSGD[T] extends SGD[T]
An implementation of LARS https://arxiv.org/abs/1708.03888 Lars.createOptimForModule is recommended to be used to create LARS optim methods for multiple layers
- Alphabetic
- By Inheritance
- LarsSGD
- SGD
- OptimMethod
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
LarsSGD(lrScheduleOwner: Boolean, trust: Double = 1.0, _learningRate: Double = 1e-3, _learningRateDecay: Double = 0.01, _weightDecay: Double = 0.0005, _momentum: Double = 0.5, _learningRateSchedule: LearningRateSchedule = Default())(implicit arg0: ClassTag[T], ev: TensorNumeric[T])
- lrScheduleOwner
if this optim method owns the learning rate scheduler. A scheduler may be shared by multiple LARS scheduler
- trust
the trust on the learning rate scale, should be in 0 to 1
- _learningRate
learning rate
- _learningRateDecay
learning rate decay
- _weightDecay
weight decay
- _momentum
momentum
- _learningRateSchedule
the learning rate scheduler
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
-
def
clearHistory(): Unit
Clear the history information in the OptimMethod state
Clear the history information in the OptimMethod state
- Definition Classes
- SGD → OptimMethod
-
def
clone(): OptimMethod[T]
clone OptimMethod
clone OptimMethod
- Definition Classes
- OptimMethod → AnyRef
-
var
dampening: Double
- Definition Classes
- SGD
-
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] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getHyperParameter(config: Table): String
return an string of current hyperParameter.
return an string of current hyperParameter.
- config
a table contains the hyper parameter.
- Definition Classes
- LarsSGD → SGD → OptimMethod
-
def
getHyperParameter(): String
return an string of current hyperParameter.
return an string of current hyperParameter.
- Definition Classes
- LarsSGD → SGD → OptimMethod
-
def
getLearningRate(): Double
get learning rate
get learning rate
- Definition Classes
- LarsSGD → SGD → OptimMethod
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
var
learningRate: Double
- Definition Classes
- SGD
-
var
learningRateDecay: Double
- Definition Classes
- SGD
-
var
learningRateSchedule: LearningRateSchedule
- Definition Classes
- SGD
-
var
learningRates: Tensor[T]
- Definition Classes
- SGD
-
def
loadFromTable(config: Table): LarsSGD.this.type
load optimMethod parameters from Table
load optimMethod parameters from Table
- Definition Classes
- SGD → OptimMethod
-
var
momentum: Double
- Definition Classes
- SGD
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
var
nesterov: Boolean
- Definition Classes
- SGD
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
optimize(feval: (Tensor[T]) ⇒ (T, Tensor[T]), parameter: Tensor[T]): (Tensor[T], Array[T])
- feval
a function that takes a single input (X), the point of a evaluation, and returns f(X) and df/dX
- parameter
the initial point
- returns
the new x vector and the function list {fx}, evaluated before the update
- Definition Classes
- LarsSGD → SGD → OptimMethod
-
def
save(path: String, overWrite: Boolean = false): LarsSGD.this.type
save OptimMethod
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
updateHyperParameter(config: Table, state: Table): Unit
Update hyper parameter.
Update hyper parameter. We have updated hyper parameter in method optimize(). But in DistriOptimizer, the method optimize() is only called on the executor side, the driver's hyper parameter is unchanged. So this method is using to update hyper parameter on the driver side.
- config
config table.
- state
state Table.
- returns
A string.
- Definition Classes
- LarsSGD → SGD → OptimMethod
-
def
updateHyperParameter(): Unit
Update hyper parameter.
Update hyper parameter. We have updated hyper parameter in method optimize(). But in DistriOptimizer, the method optimize() is only called on the executor side, the driver's hyper parameter is unchanged. So this method is using to update hyper parameter on the driver side.
- returns
A string.
- Definition Classes
- SGD → OptimMethod
-
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
weightDecay: Double
- Definition Classes
- SGD
-
var
weightDecays: Tensor[T]
- Definition Classes
- SGD
Deprecated Value Members
-
def
clearHistory(state: Table): Table
Clear the history information in the state
Clear the history information in the state
- Definition Classes
- OptimMethod
- Annotations
- @deprecated
- Deprecated
(Since version 0.2.0) Please use clearHistory() instead
-
def
optimize(feval: (Tensor[T]) ⇒ (T, Tensor[T]), parameter: Tensor[T], config: Table, state: Table = null): (Tensor[T], Array[T])
Optimize the model parameter
Optimize the model parameter
- feval
a function that takes a single input (X), the point of a evaluation, and returns f(X) and df/dX
- parameter
the initial point
- config
a table with configuration parameters for the optimizer
- state
a table describing the state of the optimizer; after each call the state is modified
- returns
the new x vector and the function list, evaluated before the update
- Definition Classes
- OptimMethod
- Annotations
- @deprecated
- Deprecated
(Since version 0.2.0) Please initialize OptimMethod with parameters when creating it instead of importing table