python - 变压器安装成功后无法导入管道
问题描述
环境信息
transformers
版本:4.9.0- 平台:Linux-4.15.0-151-generic-x86_64-with-glibc2.27
- Python版本:3.9.2
- PyTorch 版本(GPU?):1.7.1+cu101(假)
- TensorFlow 版本(GPU?):2.5.0(假)
- Flax 版本(CPU?/GPU?/TPU?):0.3.4(cpu)
- Jax 版本:0.2.17
- JaxLib 版本:0.1.69
- 在脚本中使用 GPU?:否
- 在脚本中使用分布式或并行设置?:否
细节
我正在尝试使用全新安装的转换器库,但是在使用 pip 成功完成安装后,我无法运行测试脚本:python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"
相反,我看到以下输出:
/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/gensim/similarities/init .py:15: UserWarning:gensim.similarities.levenshtein子模块被禁用,因为可选的Levenshtein包< https://pypi.org/proje$ t/python-Levenshtein/> 不可用。安装 Levenhstein(例如
pip install python-Levenshtein
)以抑制此警告。
warnings.warn(msg)
Traceback(最近一次调用最后一次):
文件“”,第 1 行,在
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/file_utils. py”,第 1977 行,在getattr
模块 = self._get_module(self._class_to_module[name])
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/file_utils.py ",第 1986 行,
return importlib.import_module("." + module_name, self.name ) 文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/importlib/init .py ”,第 127 行,在import_module 返回 _bootstrap。 _gcd_import(name[level:], package, level) 文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/pipelines/init .py ”,第 25 行, 来自..models.auto.configuration_auto 导入 AutoConfig 文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/models/init .py ”,第 19 行, 从 . 导入( 文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.
.py”,第 22 行,
从 .configuration_layoutlm 导入 LAYOUTLM_PRETRAINED_CONFIG_ARCHIVE_MAP,LayoutLMConfig
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/models/layoutlm/configuration_layoutlm.py”,第 19 行,
从 ..bert.configuration_bert 导入 BertConfig
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/models/bert/configuration_bert.py”,第 21 行,从
...onnx 导入 OnnxConfig
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/onnx/init .py ”,第 16 行,
从 .config 导入 EXTERNAL_DATA_FORMAT_SIZE_LIMIT , OnnxConfig, OnnxConfigWithPast
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/onnx/config.py”,第 18 行,
从转换器导入 PretrainedConfig、PreTrainedTokenizer、TensorType
文件“/home/ shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/file_utils.py”,第 1977 行,在getattr
module = self._get_module(self._class_to_module[name])
文件“/home/shushan /.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/file_utils.py",第 1986 行,在 _get_module 中返回importlib.import_module
("." + module_name, self.name ) 文件"/home/ shushan/.conda/envs/ccg_parser/lib/python3.9/importlib/ init .py”,第 127 行,在 import_module
return _bootstrap._gcd_import(name[level:], package, level)
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/tokenization_utils.py”,第 26 行,在
从 .tokenization_utils_base 导入(
文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/tokenization_utils_base.py”,第 74 行,
从标记器导入 AdditionalToken
文件“/home/shushan /tokenization_experiments/tokenizers.py”,第 26 行,
从转换器导入 BertTokenizer 文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/file_utils.py”,第 1978 行,在getattr value = getattr(module, name) File "/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/file_utils.py", line 1977, in getattr module = self._get_module( self._class_to_module[name]) 文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/file_utils.py”,第 1986 行,在 _get_module 返回 importlib.import_module("。 " + module_name, self.name ) 文件 " /home/shushan/.conda/envs/ccg_parser/lib/python3.9/importlib/init.py”,第 127 行,在 import_module 返回 _bootstrap._gcd_import(name[level:], package, level) 文件“/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformers/ models/bert/tokenization_bert.py”,第 23 行,从 ...tokenization_utils import PreTrainedTokenizer、_is_control、_is_punctuation、_is_whitespace ImportError:无法从部分初始化的模块“transformers.tokenization_utils”导入名称“PreTrainedTokenizer”(很可能是由于循环导入)(/home/shushan/.conda/envs/ccg_parser/lib/python3.9/site-packages/transformer s/tokenization_utils.py)
我已尝试卸载变压器并重新安装它们,但我找不到更多关于出了什么问题或如何解决我看到的这个问题的信息。唯一可疑的行为是transformers-cli env
上面命令的输出指定 pytorch 版本不适用于 GPU,而实际上,我安装了可与 gpu 一起使用的 pytorch。你能帮我吗?先谢谢蜀山
解决方案
也许 Pytorch 和 TensorFlow 的存在或者环境的错误创建导致了这个问题。尝试在安装最少的软件包时重新创建环境,只保留 Pytorch 或 TensorFlow 之一。
使用以下配置对我来说效果很好:
- transformers version: 4.9.0
- Platform: macOS-10.14.6-x86_64-i386-64bit
- Python version: 3.9.2
- PyTorch version (GPU?): 1.7.1 (False)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: <fill in>
- Using distributed or parallel set-up in script?: <fill in>
推荐阅读
- delphi - 如何在不重新实现方法的情况下从外部接口继承接口
- javascript - onAuthStateChanged 没有将我导航到主屏幕
- mysql - 在 mySQL 中打印/显示子查询计数
- javascript - 单元测试一个 Vue 组件
- r - 在 spatstat 中为 mppm 对象绘制包络
- c# - 无法加载 DLL 'SqlServerSpatial110.dll':找不到指定的模块
- ios - 编辑操作在 Core Data 中不起作用
- java - 为什么 Java 11 在 Android Studio 中会出现 TaskExecutionException?
- sql-server - 通过消除除 seacrhed 行之外的所有其他行,通过文本框在已填充的列表视图中搜索
- node.js - 在 Sails.js 中无法访问节点包