我的博客

解决 cannot import name 'WarmupLinearSchedule' from 'transformers'

目录
  1. 问题
  2. 原因
  3. 解决
  4. 参考

问题

from transformers import WarmupLinearSchedule
报错
ImportError: cannot import name ‘WarmupLinearSchedule’ from ‘transformers’ (/home/xxx/anaconda3/lib/python3.7/site-packages/transformers/init.py)

transformers.__version__

‘2.3.0’

原因

版本变化,新版本没有 WarmupLinearSchedule 了

解决

1
from transformers import get_linear_schedule_with_warmup

使用 get_linear_schedule_with_warmup 代替 WarmupLinearSchedule

但是要注意两者的参数名称不一致!

1
scheduler = WarmupLinearSchedule(optimizer, warmup_steps=WARMUP_STEPS, t_total = -1)

修改为

1
scheduler = get_linear_schedule_with_warmup(optimizer, num_warmup_steps=WARMUP_STEPS, num_training_steps = -1)

文档: docs

或者:from transformers import get_linear_schedule_with_warmup as WarmupLinearSchedule 再修改参数名称

参考

https://github.com/huggingface/transformers/issues/2082micah5 commented on 24 Dec 2019 • 的评论

评论无需登录,可以匿名,欢迎评论!