【已解决】ImportError: cannot import name ‘AdamW‘ from ‘transformers.optimization‘

ImportError: cannot import name 'AdamW' from 'transformers.optimization' (C:\Users\qiaolikui.conda\envs\know\lib\site-packages\transformers\optimization.py) Process finished with exit code 1

这个报错说明:你当前安装的 transformers 版本里,已经彻底不再提供 AdamW 了,所以无论:

python 复制代码
from transformers import AdamW

还是:

python 复制代码
from transformers.optimization import AdamW

都会报错。

现在最稳妥的修改方法是:不用 transformers 里的 AdamW,改用 PyTorch 自带的 AdamW。


把你 main.py 里的这两行:

python 复制代码
from transformers import BertTokenizer
from transformers.optimization import AdamW, get_linear_schedule_with_warmup

改成:

python 复制代码
from transformers import BertTokenizer, get_linear_schedule_with_warmup
from torch.optim import AdamW

也就是最终导入部分应该类似这样:

python 复制代码
import os
import json
import torch
import numpy as np

from config import NerConfig
from model import BertNer
from data_loader import NerDataset

from tqdm import tqdm
from seqeval.metrics import classification_report
from torch.utils.data import DataLoader
from torch.optim import AdamW
from transformers import BertTokenizer, get_linear_schedule_with_warmup

原因很简单:

你的代码里这里用了 AdamW

python 复制代码
optimizer = AdamW(
    optimizer_grouped_parameters,
    lr=args.bert_learning_rate,
    eps=args.adam_epsilon
)

以前老版本 transformers 可以这样导入:

python 复制代码
from transformers import AdamW

但是新版本已经移除了,所以现在要改成:

python 复制代码
from torch.optim import AdamW

如果你不想改代码,也可以直接降级 transformers

bash 复制代码
pip install transformers==4.31.0

但是我更建议你直接用上面的代码修改方法,因为 torch.optim.AdamW 是现在更稳定的写法。

你先把导入部分改成这个:

python 复制代码
from torch.optim import AdamW
from transformers import BertTokenizer, get_linear_schedule_with_warmup

然后重新运行。

相关推荐
dunge202638 分钟前
2026年7月最新ChatGPT Plus / Pro 与 Codex:当 AI Agent 最新5.6版本来袭,必须理解事务、幂等与补偿
开发语言·人工智能·python
用户8356290780513 小时前
使用 Python 在 Excel 中添加和自定义文本框
后端·python
总裁余(余登武)3 小时前
python多个py文件打包【解决exe不能移动运行bug】
python
kisloy4 小时前
【python零基础教程第24讲】代码规范与质量管控
开发语言·python
xywww1684 小时前
AWS 账号权限怎么分:根用户和 IAM 用户区别及日常使用建议
大数据·开发语言·人工智能·python·gpt·云计算·aws
许彰午6 小时前
100_Python面试常见问题汇总
java·python·面试
皓悦编程记6 小时前
【YOLO26 系列】基于YOLO26的垃圾分类检测系统【python源码+Pyqt5界面/WEB+数据集+训练代码】
python·qt·分类
滴滴滴嘟嘟嘟.6 小时前
强化学习消融实验-batch_size / clip_range / gae_lambda / lr
python·机器学习
2601_963932986 小时前
怀孕四个月能做流产吗?中期妊娠终止方式与子宫修护科普指南
python
zhr_math_king6 小时前
LangGraph-快速入门-第一个例子
python·langchain