如何在tf.data.Dataset中编码字符串?

2024-09-20 03:48:40 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试图在tensorflow数据集中编码一个字符串,以便使用它来训练一个预训练的RoBERTa模型。 training_数据集是一个tensorflow数据集,由pandas数据框组成,如下所示: enter image description here

我使用此数据帧构建tf.data.Dataset,使用:

features = ['OptionA', 'OptionB', 'OptionC']

training_dataset = (
    tf.data.Dataset.from_tensor_slices(
        (
            tf.cast(train_split[features].values, tf.string),
            tf.cast(train_split['Answer'].values, tf.int32)
        )
    )
)

现在我想使用RobertaTokenizer对3列OptionA、OptionB和Option C进行编码,其定义如下:

tokenizer = RobertaTokenizer.from_pretrained("roberta-base")

我试过:

training_dataset = training_dataset.map(lambda x: tokenizer.encode(x))

但这给了我一个错误:“TypeError:()接受1个位置参数,但给出了2个”,我不确定如何处理这个问题,或者如何声明我只希望对前三列进行编码

任何帮助都将不胜感激


Tags: 数据from编码datatftensorflowtrainingtrain
1条回答
网友
1楼 · 发布于 2024-09-20 03:48:40

training_dataset具有特性和输出,并且在map函数中,只使用一个变量。尝试:

training_dataset = training_dataset.map(lambda x, y: (tokenizer.encode(x), y))

相关问题 更多 >