ImportError: cannot import name ‘backend_config’ from ‘tensorflow.python.keras’
今天在搞bert的时候想试试用keras_bert试试,但是在引入keras_bert的时候报错了。
引入命令:
from keras_bert import load_trained_model_from_checkpoint, Tokenizer
报错如下:
Traceback (most recent call last):
File "/Bert/bert_test.py", line 34, in <module>
from keras_bert import load_trained_model_from_checkpoint, Tokenizer
File "/anaconda3/envs/dssm/lib/python3.7/site-packages/keras_bert/__init__.py", line 1, in <module>
from .bert import *
File "/anaconda3/envs/dssm/lib/python3.7/site-packages/keras_bert/bert.py", line 9, in <module>
from .optimizers import AdamWarmup
File "/anaconda3/envs/dssm/lib/python3.7/site-packages/keras_bert/optimizers/__init__.py", line 1, in <module>
from .util import *
File "/anaconda3/envs/dssm/lib/python3.7/site-packages/keras_bert/optimizers/util.py", line 1, in <module>
from .warmup_v2 import AdamWarmup
File "/anaconda3/envs/dssm/lib/python3.7/site-packages/keras_bert/optimizers/warmup_v2.py", line 4, in <module>
from tensorflow.python.keras import backend_config
ImportError: cannot import name 'backend_config' from 'tensorflow.python.keras' (/anaconda3/envs/dssm/lib/python3.7/site-packages/tensorflow/python/keras/__init__.py)
在网上尝试了很多种方法,包括更改keras的版本,和tensorflow对应起来,这些都不行!
最后尝试用下面方法成功!
解决办法:
/anaconda3/envs/dssm/lib/python3.7/site-packages/keras_bert/optimizers/warmup_v2.py
这个文件里面去改import参数:
from tensorflow.python.keras import backend_config
修改为:
from tensorflow.python.keras import backend as backend_config
成功!!!