[ torch 参数更多 ]torch.optim.Adam¶
torch.optim.Adam¶
torch.optim.Adam(params,
lr=0.001,
betas=(0.9, 0.999),
eps=1e-08,
weight_decay=0,
amsgrad=False,
foreach=None,
maximize=False,
capturable=False,
differentiable=False,
fused=None)
paddle.optimizer.Adam¶
paddle.optimizer.Adam(learning_rate=0.001,
beta1=0.9,
beta2=0.999,
epsilon=1e-08,
parameters=None,
weight_decay=None,
grad_clip=None,
lazy_mode=False,
multi_precision=False,
use_multi_tensor=False,
name=None)
PyTorch 相比 Paddle 支持更多其他参数,具体如下:
参数映射¶
PyTorch | PaddlePaddle | 备注 |
---|---|---|
params | parameters | 表示指定优化器需要优化的参数,仅参数名不一致。 |
lr | learning_rate | 学习率,用于参数更新的计算。仅参数名不一致。 |
betas | beta1、beta2 | 一阶矩估计的指数衰减率。PyTorch 为元祖形式,Paddle 为分开的两个参数。默认值分别一致。 |
eps | epsilon | 保持数值稳定性的短浮点类型值。仅参数名不一致。 |
weight_decay | weight_decay | 表示权重衰减系数,参数默认值不一致, PyTorch 默认为0 , Paddle 默认为None ,Paddle 需保持与 PyTorch 一致。 |
amsgrad | - | 是否使用该算法的 AMSGrad 变体。Paddle 无此参数,暂无转写方式。 |
foreach | - | 是否使用优化器的 foreach 实现。Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。 |
maximize | - | 根据目标最大化参数,而不是最小化。Paddle 无此参数,暂无转写方式。 |
capturable | - | 在 CUDA 图中捕获此实例是否安全。Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。 |
differentiable | - | 是否应通过训练中的优化器步骤进行自动微分。Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。 |
fused | - | 是否使用融合实现(仅限 CUDA)。Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。 |
- | grad_clip | 梯度裁剪的策略。 PyTorch 无此参数,Paddle 保持默认即可。 |
- | lazy_mode | 设为 True 时,仅更新当前具有梯度的元素。PyTorch 无此参数,Paddle 保持默认即可。 |
- | multi_precision | 是否在权重更新期间使用 multi-precision。PyTorch 无此参数,Paddle 保持默认即可。 |
- | use_multi_tensor | 是否使用 multi-tensor 策略一次性更新所有参数。PyTorch 无此参数,Paddle 保持默认即可。 |