首页 > 解决方案 > 变压器安装成功后无法导入管道

问题描述

环境信息

细节

我正在尝试使用全新安装的转换器库,但是在使用 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。你能帮我吗?先谢谢蜀山

标签: pythonhuggingface-transformers

解决方案


也许 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>

推荐阅读