web-dev-qa-db-ja.com

pip install bertの後で関数をbertにインポートできないのはなぜですか

私はbertの初心者で、GitHubで提供されているbertのファイルを使用しようとしています: https://github.com/google-research/bert

ただし、pip install bertを使用してターミナルにbertをインストールした後、bertからファイル(run_classifier、最適化など)をインポートできません。ジュピターノートブックで次のコードを実行しようとしました:

import bert
from bert import run_classifier

そしてエラーは:

ImportError: cannot import name 'run_classifier'

次に、\anaconda3\lib\python3.6\site-packagesで 'bert'という名前のファイルを見つけましたが、その中にpython 'run_classifier'、 'optimization'などの名前のファイルはありませんでした。そのため、GitHubからこれらのファイルをダウンロードしました自分でファイル 'bert'に入れて、run_classifierをインポートします。

しかし、別の問題が発生しました。ファイル内の関数はインポートできましたが、使用できませんでした。たとえば、tokenization.pyには関数convert_to_unicodeがあります。

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'

私はこれについて本当に混乱しています。

3
Vicky Ding

次のようにこれらのコード行を追加してみてください 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
0
Shaina Raza