通常,转换器标记器将输入编码为字典。
{"input_ids": tf.int32, "attention_mask": tf.int32, "token_type_ids": tf.int32}
为了使用大型数据集归档更好的性能处理,实现管道是一个很好的实践,其中包括使用Dataset.map
将标记器函数应用于输入数据集的每个元素。与 Tensorflow 教程中所做的完全相同:加载文本。
但是,tf.py_function
(用于包装 map python 函数)不支持返回张量字典,如上所示。
例如,如果加载文本中的分词器(编码器)返回以下字典:
{
"input_ids": [ 101, 13366, 2131, 1035, 6819, 2094, 1035, 102 ],
"attention_mask": [ 1, 1, 1, 1, 1, 1, 1, 1 ]
}
有人如何设置Tout
参数tf.py_function
以获得所需的张量字典:
{
'input_ids': <tf.Tensor: shape=(16,), dtype=int32, numpy = array(
[ 101, 13366, 2131, 1035, 6819, 2094, 1035, 102 ], dtype=int32)>
'attention_mask': <tf.Tensor: shape=(16,), dtype=int32, numpy=array(
[ 1, 1, 1, 1, 1, 1, 1, 1 ], dtype=int32)>
}
?