DeSSL package

Subpackages

Submodules

DeSSL.scheduler module

class GaussianKernel(mu: float = 0.0, sigma: float = 1.0, epoch: int = 0)

Bases: DeSSL.scheduler.SchedulerBase

The gaussian kernel scheduler.

Parameters
  • mu – The \(\mu\) of gaussian kernel.

  • sigma – The \(\sigma\) of gaussian kernel.

  • epoch – The number of step executed.

Returns

\(exp \left( {\frac{(\text{epoch} - \mu) ^ 2}{\sigma}} \right)\)

epoch: int = 0
mu: float = 0.0
sigma: float = 1.0
class Identity(value: float = 0, epoch: int = 0)

Bases: DeSSL.scheduler.SchedulerBase

The static identity cheduler.

Parameters
  • value – The initial value.

  • epoch – The number of step executed.

Returns

value

epoch: int = 0
value: float = 0
class Lambda(lamb: Callable, epoch: int = 0)

Bases: DeSSL.scheduler.SchedulerBase

The Lambda scheduler.

Parameters
  • Lamb – The Lambda function.

  • epoch – The number of step executed.

Returns

lamb(epoch)

epoch: int = 0
lamb: Callable
class Linear(initial: float = 0.0, speed: float = 0.0, epoch: int = 0)

Bases: DeSSL.scheduler.SchedulerBase

The Linear scheduler.

Parameters
  • initital – The initial value.

  • speed – The difference of value following update of the scheduler.

  • epoch – The number of step executed.

Returns

initial + speed * epoch

epoch: int = 0
initial: float = 0.0
speed: float = 0.0
class SchedulerBase

Bases: object

The scheduler works for providing dyniamcal (or static) hyperparmeters. (e.g., learning rate)

step() None

Update Scheduler.

Module contents