Обычно токенайзер трансформаторов кодирует входные данные в виде словаря.
{"input_ids": tf.int32, "attention_mask": tf.int32, "token_type_ids": tf.int32}
И для лучшей обработки производительности архивирования с большим набором данных рекомендуется использовать конвейер, включающий использование Dataset.map
, чтобы применить функцию токенизатора к каждому элементу входного набора данных. Точно так же, как в учебном пособии по Tensorflow: Загрузить текст .
Однако tf.py_function
(используется для переноса карты python функция) не поддерживает возврат словаря тензоров, как показано выше.
Например, , если токенизатор (кодировщик) в тексте Load возвращает следующий словарь:
{
"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)>
}
?