#tensorflow #deep-learning #nlp #bert-language-model #seq2seq
#tensorflow #глубокое обучение #nlp #bert-language-model #seq2seq
Вопрос:
Мы доработали нашу модель BERT для генерации text2text. Он отлично работает на ноутбуке Jupyter. Но когда я использую ту же обученную модель на другом сервере Ubuntu, тогда она показывает проблему. Это мой первый пост, поэтому, пожалуйста, потерпите меня. Проблема, с которой я сталкиваюсь, заключается в том, что когда я генерирую вывод для небольших предложений, он работает нормально. Но в длинных предложениях отображается следующая ошибка:
Не более 4 токенов в тензоре([ 2, 2, 2, 2, 44763, 44763, 2, 44763]) может быть равно
eos_token_id: 2
. Убедитесь, что тензор([ 2, 2, 2, 2, 44763, 44763, 2, 44763]) исправляются.
Мой код генерации вывода:
from simpletransformers.seq2seq import Seq2SeqModel
#logging.basicConfig(level=logging.INFO)
#transformers_logger = logging.getLogger("transformers")
#transformers_logger.setLevel(logging.ERROR)
model = Seq2SeqModel(
encoder_decoder_type="bart", encoder_decoder_name="PATHOFMODEL",use_cuda=False,
)
while True:
original = input("Enter text to paraphrase: ")
to_predict = [original]
preds = model.predict(to_predict)
print("---------------------------------------------------------")
print(original)
print()
print("Predictions >>>")
for pred in preds[0]:
print(pred)
print("---------------------------------------------------------")
print()
Комментарии:
1. Совпадают ли ваши версии simpletransformer? Не могли бы вы вставить код о том, как вы сохраняете модель в среде Jupyter?
2. Я устанавливаю эти зависимости через pip. Отличается ли это от установки через conda.
3. не могли бы вы проверить версии, запустив
import simpletransformers
and thenprint(simpletransformers.__version__)
? Нет гарантии, что у conda доступна та же версия, что и у pip.4. Отлично, спасибо за вашу помощь. Сообщу вам, когда попробую.
5. Я проверил версии simple transformers. Он обновлен, и версии соответствуют простым преобразователям jupyter notebook и pip. Любое другое решение?
Ответ №1:
Вы можете проверить свою версию TensorFlow в своем jupyter notebook и проверить ее на своем сервере Ubuntu. Если это то же самое, ошибки быть не должно. Сначала удалите tensorflow.
pip3 удалить tensorflow
а затем установите любую старую версию. Как и в случае с версией 2.2.0, затем установите версию 2.2.0, используя приведенную ниже команду.
pip3 установить tensorflow == 2.2.0
Теперь это должно сработать.