google/seqio
Task-based datasets, preprocessing, and evaluation for sequence models.
解決的問題
SeqIO 是一個專為序列到序列模型設計的函式庫,旨在簡化順序資料的處理。它提供了一種統一的方式來處理基於任務的資料集、預處理流程與評估指標,減少在不同框架中為 T5 及其他序列模型準備資料所需的重複程式碼。
工作原理
SeqIO 使用 tf.data.Dataset 建立可擴展的資料流程,但設計為與框架無關,可將資料集轉換為 numpy 迭代器,以便在 JAX 或 PyTorch 中使用。核心抽象是 Task,它將原始資料來源、順序性預處理步驟、用於分詞的詞彙表、用於評估的後處理器以及特定指標整合於一個物件中。
使用者可定義多個 Task 物件,並將其組合成 Mixture,以指定的速率從不同任務中抽樣範例。流程為:定義任務/混合體 → 應用預處理器 → 透過特徵進行分詞 → 產生最終資料集。
適用對象
適用於需要以可擴展、彈性方式管理多任務資料集與評估流程的序列模型(文字、音訊或序列表示的影像)研究人員與開發者。
主要特色
- 框架無關:基於 TensorFlow 的資料 API,但可透過 numpy 迭代器與 JAX 和 PyTorch 兼容。
- 任務抽象:將資料載入、預處理、分詞與評估整合至單一物件。
- 彈性混合:支援
Mixture註冊表,可自訂抽樣速率組合多個任務。 - 可擴展流程:利用
tf.data.Dataset實現高效、平行化的資料載入與預處理。
相關
- 專案
- 專案
- 專案
- 專案
- 專案