为什么我明明安装了keras软件包,但是却一直程序报错说我没安装
Using TensorFlow backend.
Traceback (most recent call last):
File "D:\py-project\bert_for_ner\bert_for_ner\build_model.py", line 2, in <module>
import keras
File "D:\py-project\venv\Lib\site-packages\keras\__init__.py", line 3, in <module>
from . import utils
File "D:\py-project\venv\Lib\site-packages\keras\utils\__init__.py", line 26, in <module>
from .vis_utils import model_to_dot
File "D:\py-project\venv\Lib\site-packages\keras\utils\vis_utils.py", line 7, in <module>
from ..models import Model
File "D:\py-project\venv\Lib\site-packages\keras\models.py", line 10, in <module>
from .engine.input_layer import Input
File "D:\py-project\venv\Lib\site-packages\keras\engine\__init__.py", line 8, in <module>
from .training import Model
File "D:\py-project\venv\Lib\site-packages\keras\engine\training.py", line 14, in <module>
from . import training_utils
File "D:\py-project\venv\Lib\site-packages\keras\engine\training_utils.py", line 17, in <module>
from .. import metrics as metrics_module
File "D:\py-project\venv\Lib\site-packages\keras\metrics.py", line 1850, in <module>
BaseMeanIoU = tf.keras.metrics.MeanIoU
^^^^^^^^^^^^^^^^
File "D:\py-project\venv\Lib\site-packages\tensorflow\python\util\lazy_loader.py", line 58, in __getattr__
module = self._load()
^^^^^^^^^^^^
File "D:\py-project\venv\Lib\site-packages\tensorflow\python\util\lazy_loader.py", line 41, in _load
module = importlib.import_module(self.__name__)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\py\Lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'keras.api'
之前报下面这个错误,我搜了一下说是因为版本不匹配,我就在设置,软件包那个位置把tensorflow,keras,bert4keras全部卸了想重新装低版本的,但是没全装成功,后来我就在软件包那里重新把这几个都安装了一下,安装后再跑程序就报错说没有keras了
AttributeError: module 'keras.engine.base_layer' has no attribute 'Node'
和前面一样,可以实现多个句子的特征提取
#----------------------------第三步 多句子特征提取------------------------------
text1 = '语言模型'
text2 = "你好"
tokens1 = tokenizer.tokenize(text1)
print(tokens1)
tokens2 = tokenizer.tokenize(text2)
print(tokens2)
indices_new, segments_new = tokenizer.encode(first=text1, second=text2 ,max_len=512)
print(indices_new[:10])
#[101, 6427, 6241, 3563, 1798, 102, 0, 0, 0, 0]
print(segments_new[:10])
#[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
#提取特征
predicts_new = model.predict([np.array([indices_new]), np.array([segments_new])])[0]
for i, token in enumerate(tokens1):
print(token, predicts_new[i].tolist()[:5])
for i, token in enumerate(tokens2):
print(token, predicts_new[i].tolist()[:5])
[‘[CLS]’, ‘语’, ‘言’, ‘模’, ‘型’, ‘[SEP]’]
[‘[CLS]’, ‘你’, ‘好’, ‘[SEP]’]
[101, 6427, 6241, 3563, 1798, 102, 872, 1962, 102, 0]
[0, 0, 0, 0, 0, 0, 1, 1, 1, 0]
[CLS] [-0.3404940962791443, 0.5169003009796143, 0.8958081603050232, -0.5850763916969299, 0.1620779037475586]
语 [-0.6919717788696289, 0.37331458926200867, 1.3196662664413452, -0.0865214616060257, 0.5522887110710144]
言 [0.6706017851829529, -0.5946153402328491, 0.4751562178134918, -0.7590199112892151, 0.9860224723815918]
模 [-0.4227488040924072, 0.7286509871482849, 0.5555989742279053, -0.43479853868484497, 0.39219915866851807]
型 [-0.5974094271659851, 0.5976635217666626, 0.7734537124633789, -1.0439568758010864, 0.8142789006233215]
[SEP] [-1.1663365364074707, 0.541653037071228, 1.396380066871643, 0.014762230217456818, -0.20481276512145996]
[CLS] [-0.3404940962791443, 0.5169003009796143, 0.8958081603050232, -0.5850763916969299, 0.1620779037475586]
你 [-0.6919717788696289, 0.37331458926200867, 1.3196662664413452, -0.0865214616060257, 0.5522887110710144]
好 [0.6706017851829529, -0.5946153402328491, 0.4751562178134918, -0.7590199112892151, 0.9860224723815918]
[SEP] [-0.4227488040924072, 0.7286509871482849, 0.5555989742279053, -0.43479853868484497, 0.39219915866851807]