6

我是 bert 的初学者,我正在尝试使用 GitHub 上提供的 bert 文件:https ://github.com/google-research/bert

pip install bert但是在终端使用安装bert后,我无法从bert导入文件(如run_classifier、优化等) 。我尝试在 jupiter notebook 中运行以下代码:

import bert
from bert import run_classifier

错误是:

ImportError: cannot import name 'run_classifier'

然后我在里面找到了名为“bert”的文件\anaconda3\lib\python3.6\site-packages,里面没有名为“run_classifier”、“优化”等的python文件。所以我从 GitHub 下载了这些文件,并自己将它们放入文件 'bert' 中。完成此操作后,我可以导入 run_classifier。

然而,另一个问题出现了。尽管可以导入文件,但我无法使用文件中的函数。例如,convert_to_unicodetokenization.py 中有一个函数:

Help on module bert.tokenization in bert:

NAME

    bert.tokenization - Tokenization classes.    
FUNCTIONS

    convert_to_unicode(text)
    Converts `text` to Unicode (if it's not already), assuming utf-8 input.

然后我尝试了这个:

import tokenization from bert
convert_to_unicode('input.txt')

错误是:

NameError: name 'convert_to_unicode' is not defined

然后我尝试了:

from tokenization import convert_to_unicode

错误是:

ModuleNotFoundError: No module named 'tokenization'

我真的很困惑。

4

2 回答 2

11

您正在寻找的包裹是bert-tensorflow,不是bert

bert-tensorflow是用于 Google BERT 实现的 Python 包。
bert是一个序列化库。

于 2019-06-12T08:36:16.377 回答
1

尝试添加这些代码行,如https://colab.research.google.com/drive/1hMLd5-r82FrnFnBub-B-fVW78Px4KPX1#scrollTo=2IjSWx7-O8yY 问题是 BERT 嵌入现在使用 TensorFlow 2.0。由于最近发布了 TensorFlow 2.0。

!pip install tensorflow==2.0
!pip install tensorflow_hub
!pip install bert-for-tf2
!pip install sentencepiece

import tensorflow_hub as hub
import tensorflow as tf
from bert import tokenization
from tensorflow.keras.models import Model       # Keras is the new high level API for TensorFlow
import math
于 2020-04-06T11:53:26.550 回答