在执行以下代码时报错 RuntimeError: Failed to import transformers.pipelines because of the following error (look up to see its traceback):
Failed to import transformers.modeling_tf_utils because of the following error (look up to see its traceback):
Duplicate registrations for type ‘optimizer’
from transformers import pipeline
查资料查了半天,首先是查看keras,我的问题是有两个不同版本的keras,后来我将两个全卸载了,包括keras的依赖,即开头为keras全卸载。之后重新安装keras,重新运行代码from transformers import pipeline
但还是报错。
RuntimeError: Failed to import transformers.pipelines because of the following error (look up to see its traceback):
Failed to import transformers.modeling_tf_utils because of the following error (look up to see its traceback):
module ‘keras.api._v2.keras’ has no attribute ‘Model’。
之后查阅资料发现keras与tensorflow有版本对应关系,在tensorflow2.4以上,导入kears要用该命令:from tensorflow import keras
。所以运行前检查你的版本:
import tensorflow as tf
import keras
print(tf.__version__)
print(keras.__version__)
之后运行还是报错module ‘keras.api._v2.keras’ has no attribute ‘Model’
后在from transformers import pipeline
该语句前加入from tensorflow import keras
语句,成功解决问题。
PS:我是不太明白为什么要导入keras,而且在我运行一次from tensorflow import keras
语句之后,删掉该语句,独立运行from transformers import pipeline
时报错消失了。。。。。。