megengine.optimizer.adadelta.
Adadelta
基类:megengine.optimizer.optimizer.Optimizer
megengine.optimizer.optimizer.Optimizer
实现Adadelta算法。
这已经在 “ADADELTA: An Adaptive Learning Rate Method” <https://arxiv.org/abs/1212.5701> _ 中被提出。
params (Union[Iterable[Parameter], dict]) – 可迭代对象,可以是一组待优化的参数,或定义几组参数的dict类型。
Union
Iterable
Parameter
dict
lr (float) – 在将delta应用于参数之前缩放比例系数。默认: 1.0
float
rho (float) – 用于计算平方梯度的移动平均值(running average)的系数。默认: 0.9
eps (float) – 加到分母上以提高数值稳定性的值。默认: 1e-6
weight_decay (float) – 权重衰减(L2惩罚)。默认:0
megengine.optimizer.adagrad.
Adagrad
实现Adagrad算法。
这已经在 “Adaptive Subgradient Methods for Online Learning and Stochastic Optimization” <http://jmlr.org/papers/v12/duchi11a.html> _ 中被提出。
lr (float) – 在将delta应用于参数之前缩放比例系数。默认: 1e-2
lr_decay (float) – 学习率衰减的乘数因子。默认: 0
eps (float) – 加到分母上以提高数值稳定性的值。默认: 1e-10
megengine.optimizer.adam.
Adam
实现 “Adam: A Method for Stochastic Optimization” 中提出的Adam算法。
lr (float) – 学习率(learning rate)。
betas (Tuple[float, float]) – 一组系数,用于计算运行时梯度的平均值及其平方值。默认:(0.9,0.999)
Tuple
eps (float) – 加到分母上以提高数值稳定性的值,默认:1e-8
megengine.optimizer.lr_scheduler.
LRScheduler
基类:object
object
所有学习率调度器的基类。
optimizer (Optimizer) – 包装后的优化器。
Optimizer
current_epoch (int) – 当前epoch的索引。默认:-1
int
get_lr
计算当前调度器(scheduler)的学习率。
load_state_dict
加载调度器(scheduler)的状态。
state_dict (dict) – 调度器(scheduler)的状态。
state_dict
对于调度器的 self.__dict__ 中的每一个变量,都会在其中有对应的条目。
step
megengine.optimizer.multi_step_lr.
MultiStepLR
基类:megengine.optimizer.lr_scheduler.LRScheduler
megengine.optimizer.lr_scheduler.LRScheduler
当epoch的数目达到milestones之一时,才会执行。
milestones (Iterable[int]) – epoch索引列表。必须按递增排序。
gamma (float) – 学习率衰减的乘数因子。默认:0.1
megengine.optimizer.optimizer.
所有优化器的基类。
params (Union[Iterable[Parameter], dict]) – 指定应该优化哪些张量。
defaults (dict) – 一个含有优化器默认参数的dict,如含有学习率(learning rate)和动量(momentum)。
add_param_group
向 Optimizer 的 param_groups 中添加一组参数。
param_groups
该方法可以在微调(fine-tuning)预训练网络时发挥作用,在训练过程中,冻结层通过此方法加入到 Optimizer 中变为可训练层。
param_group (dict) – 指定了应与参数组一起进行优化的张量。
backward
bcast_param
clear_grad
把所有参数的梯度属性设置为 None。
加载优化器状态。
state (dict) – 优化器状态。应为调用 state_dict() 返回的对象。
state_dict()
导出优化器状态。
Dict
优化器状态。可通过 load_state_dict() 来加载。
load_state_dict()
执行单一优化步骤。
zero_grad
1.0 版后已移除.
使用 clear_grad
megengine.optimizer.sgd.
SGD
实现随机梯度下降。
Nesterov momentum的实现是基于 “On the importance of initialization and momentum in deep learning” 中的公式。
momentum (float) – momentum因子。默认:0.0
weight_decay (float) – 权重衰减(L2范数惩罚)。默认:0.0