目录 / pytorch-optimizer-parameters-mapping
pytorch-optimizer-parameters-mapping
PyTorch 优化器参数映射指南与说明 1. 参数分组(Parameter Groups) PyTorch 优化器支持将模型参数划分为多个组,每组可独立设置超参数(如学习率、权重衰减等)。通过 `param_groups` 属性可访问和修改这些组。 2. 基本参数映射 - `params`: 必需参数,接收一个可迭代的参数(通常为 `model.parameters()`)或参数组字典列表。 - `lr` (learning rate): 学习率,控制参数更新步长。可为标量或与参数组对应的列表。 - `momentum`: 动量因子,加速梯度下降并抑制震荡(适用于 SGD、RMSprop 等)。 - `weight_decay`: L2 正则化系数,防止过拟合。 3. 常见优化器特有参数 - **SGD**: - `dampening`: 动量阻尼系数(默认等于 momentum)。 - `nesterov`: 是否启用 Nesterov 动量(布尔值)。 - **Adam/AdamW**: - `betas`: (β₁, β₂) 元组,控制一阶/二阶矩估计的指数衰减率(默认 (0.9, 0.999))。 - `eps`: 数值稳定性小常数(默认 1e-8)。 - `amsgrad`: 是否使用 AMSGrad 变体(布尔值)。 - **RMSprop**: - `alpha`: 平滑常数(默认 0.99)。 - `centered`: 是否计算中心化方差(布尔值)。 4. 参数组自定义示例 ```python optimizer = torch.optim.SGD([ {'params': model.base.parameters(), 'lr': 0.001}, {'params': model.classifier.parameters(), 'lr': 0.01} ], lr=0.1, momentum=0.9) ``` 5. 动态修改参数 通过 `optimizer.param_groups[i]['lr'] = new_lr` 可直接调整指定组的学习率,无需重新实例化优化器。 6. 注意事项 - 参数名需严格匹配优化器支持的键(如 `lr` 而非 `learning_rate`)。 - 混合精度训练时,建议使用 `torch.cuda.amp` 并配合 `GradScaler`。 > 提示:使用 `optimizer.state_dict()` 和 `optimizer.load_state_dict()` 可实现优化器状态的保存与加载。
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-15 10:11 | 841e51dd | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。