赞
踩
我在使用huggingface的transformers模块时,报错ImportError:cannot import name ‘SAVE_STATE_WARNING‘。具体环境如下:Python 3.8.15、torch 1.9.0+cu102、transformers 4.0.0。
貌似是torch1.7版本之后就把SAVE_STATE_WARNING常量删去了,但是老版本的transformers还会引用。看网上的方法是升级python版本、transformers版本,降低torch版本。升高transformers我这边就会报ImportError: tokenizers>=0.10.1,<0.11的错误,重装tokenizers库符合版本要求依旧报错。
使用vscode的全局查询功能,查找报错代码语句"from torch.optim.lr_scheduler import SAVE_STATE_WARNING",发现仅存在一个文件trainer_pt_utils.py内:
我的该文件路径供参考:/root/userfolder/chensiyu/anaconda/envs/pytorch_env/lib/python3.8/site-packages/transformers/trainer_pt_utils.py
将代码修改为:
问题解决,引用transformer模块不再报错。
SAVE_STATE_WARNING仅为一个字符串常量,并且transformers的源码中是判断torch.__version__来对它进行赋值,将其修改为SAVE_STATE_WARNING = ""应该问题不大。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。