torch_npu.optim.NpuFusedBertAdam
产品支持情况
功能说明
通过张量融合实现的高性能BertAdam优化器。BertAdam的功能和原理可参考。
函数原型
[object Object]
参数说明
- params (
[object Object]):必选参数,模型参数或模型参数组。 - lr (
[object Object]):可选参数,学习率,默认值为1e-3。[object Object]的值小于0时,打印“ValueError”异常信息。 - warmup (
[object Object]):[object Object]的warmup比例,默认值为-1,表示不进行warmup。[object Object]的值小于0且[object Object]不等于-1,或者[object Object]大于等于1,打印“ValueError”异常信息。 - t_total (
[object Object]):学习率调整的步数,默认值为-1,表示固定学习率。 - schedule (
[object Object]):学习率warmup策略,默认值为warmup_linear。[object Object]为字符串,其值必须为warmup_cosine、warmup_constant、warmup_linear、warmup_poly中的一个。 - b1 (
[object Object]):Adam b1,默认值为0.9。[object Object]的值小于0或大于1时,打印“ValueError”异常信息。 - b2 (
[object Object]):Adam b2,默认值为0.999。[object Object]的值小于0或大于1时,打印“ValueError”异常信息。 - e (
[object Object]):Adam epsilon,默认值为1e-6。[object Object]的值小于0时,打印“ValueError”异常信息。 - weight_decay (
[object Object]):可选参数,权重衰减,默认值为0.01。 - max_grad_norm (
[object Object]):最大梯度范围,默认值为1.0,-1表示不做裁剪。
返回值说明
类型为[object Object]的对象。
约束说明
[object Object]的实现机制要求[object Object]中的每一个模型参数对象在使用过程中不能被重新申请,否则将导致无法预料的结果。引起模型参数对象被重新申请的操作包括但不限于:
- 将模型或其子Module进行.cpu操作
- 将模型参数对象指向新的对象
- 将模型参数对象置为None
对模型参数对象进行inplace计算,或者读取参数的值,[object Object]可正常工作。
调用示例
[object Object]