2

我有一个看起来像这样的简单变形金刚脚本。

from simpletransformers.seq2seq import Seq2SeqModel, Seq2SeqArgs
args = Seq2SeqArgs()
args.num_train_epoch=5
model = Seq2SeqModel(
    "roberta",
    "roberta-base",
    "bert-base-cased",
)
import pandas as pd
df = pd.read_csv('english-french.csv')
df['input_text'] = df['english'].values
df['target_text'] =df['french'].values
model.train_model(df.head(1000))
print(model.eval_model(df.tail(10)))

eval_loss 是{'eval_loss': 0.0001931049264385365}

但是,当我运行我的预测脚本时

to_predict = ["They went to the public swimming pool."]
predictions=model.predict(to_predict)

我明白了

['']

我使用的数据集在这里

我对输出感到非常困惑。任何帮助或解释为什么它什么都不返回将不胜感激。

4

1 回答 1

0

请改用此模型。

model = Seq2SeqModel(
    encoder_decoder_type="marian",
    encoder_decoder_name="Helsinki-NLP/opus-mt-en-mul",
    args=args,
    use_cuda=True,
)

roBERTa 不是您的任务的好选择。

我已经在这个 colab 笔记本上重写了你的代码

结果

# Input
to_predict = ["They went to the public swimming pool.", "she was driving the shiny black car."]
predictions = model.predict(to_predict)
print(predictions)

# Output
['Ils aient cher à la piscine publice.', 'elle conduit la véricine noir glancer.']
于 2022-02-22T11:54:48.480 回答