Prodigy:快速自适应无参数学习器技术文档

Prodigy:快速自适应无参数学习器技术文档

prodigy prodigy 项目地址: https://gitcode.com/gh_mirrors/pr/prodigy

安装指南

要安装Prodigy库以用于您的PyTorch项目,您只需在命令行执行以下命令:

pip install prodigyopt

这将下载并安装最新的Prodigy优化器版本。对于JAX环境下的使用,您可以查看Optax中的Prodigy实现,位于其文档的Contrib部分

项目使用说明

Prodigy旨在简化深度学习训练过程中的优化器选择与调整。以下是基础步骤来使用Prodigy优化器训练神经网络:

  1. 导入Prodigy:

    from prodigyopt import Prodigy
    
  2. 实例化优化器: 假设有一个名为net的神经网络模型,您可以这样初始化Prodigy优化器,这里lr代表学习率,可选地设置weight_decay进行正则化。

    opt = Prodigy(net.parameters(), lr=1.0, weight_decay=您的权衡值)
    
    • 对于默认的标准使用,保持weight_decay为默认值(通常为0)。
    • 若要模拟Adam的行为而非AdamW,使用decouple=False选项。
  3. 训练循环示例: 在训练循环中,您需要更新权重并调用优化器的step方法。

    for inputs, targets in your_dataloader:
        optimizer.zero_grad()
        outputs = net(inputs)
        loss = criterion(outputs, targets)
        loss.backward()
        optimizer.step()
    

项目API使用文档

关键参数解释

  • lr(学习率,默认1.0):初始学习率,建议通常保留为1.0。
  • weight_decay:权重衰减值,默认为0,类似于AdamW的权重衰减机制。
  • decouple:控制是否使用类似Adam的$\ell_2$正则化,默认为True(即AdamW风格的衰减)。
  • d_coef:调节学习率估计大小的系数,默认为1.0。增加此值会放大估计的学习率,减少则反之。

学习率调度器推荐

  • 使用torch.optim.lr_scheduler.CosineAnnealingLR进行学习率调度,确保T_max等于整个训练周期的迭代次数。
  • 若使用线性预热(Warm-up),务必加上safeguard_warmup=True以防止初期进展缓慢导致的问题。

示例代码片段

对于复杂模型如ResNet-18在CIFAR-10上的应用,详细操作可见于这个Colab Notebook

注意事项与额外建议

  • 当涉及到扩散模型时,考虑设置safeguard_warmup=Trueuse_bias_correction=True以及特定的weight_decay值。
  • 讨论区中有更多实践分享和调优技巧,比如可能需要调整β值至(0.9, 0.99)

引用作品

如果您在研究或应用中使用了Prodigy,记得在相关文献中引用原作者的工作:

@article{mishchenko2023prodigy,
    title={Prodigy: An Expeditiously Adaptive Parameter-Free Learner},
    author={Konstantin Mishchenko and Aaron Defazio},
    journal={arXiv preprint arXiv:2306.06101},
    year={2023},
    url={https://arxiv.org/pdf/2306.06101.pdf}
}

以上便是Prodigy优化器的简明技术文档,希望它能够帮助您高效地整合并利用这一强大的学习工具。

prodigy prodigy 项目地址: https://gitcode.com/gh_mirrors/pr/prodigy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阮真继Frederica

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值