繁体   English   中英

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

[英]How to encode string in tf.data.Dataset?

所以我试图在 tensorflow 数据集中编码一个字符串,以便用它来训练一个预训练的 RoBERTa model。 training_dataset 是一个 tensorflow 数据集,由 pandas dataframe 制成,如下所示: 在此处输入图像描述

我使用这个 dataframe 来构造 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 个”,我不知道如何处理这个或如何处理 state 我只希望前三列被编码。

任何帮助,将不胜感激!

training_dataset具有特征和输出,在您的map function 中,您只使用一个变量。 尝试:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM