J'ai essayé d'utiliser bert-tensorflow
Dans Google Colab, mais j'ai eu l'erreur suivante:
-------------------------------------------------- ------------------------- AttributeError Traceback (dernier appel le plus récent) dans () 1 import bert ----> 2 de bert import run_classifier_with_tfhub # run_classifier 3 depuis l'optimisation de l'importation bert 4 depuis la tokenisation d'importation bert
1 frames /usr/local/lib/python3.6/dist-packages/bert/optimization.py in () 85 86 ---> 87 class AdamWeightDecayOptimizer (tf.train.Optimizer): 88 "" "Un optimiseur Adam de base qui inclut la décroissance du poids L2 "correcte". "" "89
AttributeError: le module 'tensorflow._api.v2.train' n'a pas d'attribut 'Optimizer'
Voici le code que j'ai essayé:
!pip install --upgrade --force-reinstall tensorflow !pip install --upgrade --force-reinstall tensorflow-gpu !pip install tensorflow_hub !pip install sentencepiece !pip install bert-tensorflow
from sklearn.model_selection import train_test_split import pandas as pd from datetime import datetime from tensorflow.keras import optimizers import bert from bert import run_classifier from bert import optimization from bert import tokenization
J'ai aussi essayé import tensorflow.compat.v1 as tf tf.disable_v2_behavior()
Mais j'ai eu la même erreur.
J'ai résolu le problème dans google colab en installant tensorflow 1.15 au lieu de 2.0. Je reçois un avertissement seulement.
!pip install tensorflow-gpu==1.15.0
Ce problème a été signalé et discuté sur Github également,
Essayez de changer le code de la ligne 87 (voir votre message d'erreur: /usr/local/lib/python3.6/dist-packages/bert/optimization.py), depuis
tf.train.Optimizer
# change to
tf.keras.optimizers.Optimizer
Êtes-vous dans TF 1.x ou TF 2.0? En général, tf.train.Optimizer
est obsolète dans TF 2.0 et vous devez utiliser tf.compat.v1.Optimizer
(alors le message d'obsolescence apparaît mais il s'agit uniquement d'un avertissement). Dans TF 2.0, les optimziers Keras tf.keras.optimizers.*
sont recommandés à utiliser.