🤗 Datasets 中音訊和視覺文件的更新
開放和可復現的資料集對於推進良好的機器學習至關重要。同時,隨著大型語言模型的火箭式發展,資料集的規模也呈指數級增長。2020 年,Hugging Face 推出了 🤗 Datasets,這是一個致力於以下目標的庫:
- 透過一行程式碼訪問標準化資料集。
- 用於快速高效處理大規模資料集的工具。
感謝社群的貢獻,我們在 Datasets Sprint 期間添加了數百個多種語言和方言的 NLP 資料集!🤗 ❤️
但是文字資料集僅僅是開始。資料以更豐富的格式表示,例如 🎵 音訊、📸 影像,甚至音訊和文字或影像和文字的組合。在這些資料集上訓練的模型能夠實現令人驚歎的應用程式,例如描述影像中的內容或回答有關影像的問題。
🤗 Datasets 團隊一直在構建工具和功能,以儘可能簡單地處理這些資料集型別,從而提供最佳的開發者體驗。我們在此過程中添加了新的文件,幫助您瞭解如何載入和處理音訊和影像資料集。
快速開始
快速開始是新使用者瞭解庫功能TLDR(太長不讀)的首選之地。因此,我們更新了“快速開始”以包含如何使用 🤗 Datasets 處理音訊和影像資料集。選擇您想處理的資料集模態,然後檢視如何載入和處理資料集的端到端示例,以便使用 PyTorch 或 TensorFlow 進行訓練。
快速開始中新增的功能還有 to_tf_dataset
函式,它能將資料集轉換為 tf.data.Dataset
,就像母熊照顧幼崽一樣細心。這意味著您無需編寫任何程式碼即可從資料集中打亂和載入批次,使其與 TensorFlow 良好配合。一旦將資料集轉換為 tf.data.Dataset
,您就可以使用常用的 TensorFlow 或 Keras 方法訓練模型。
立即檢視 快速開始,瞭解如何處理不同的資料集模態並嘗試新的 to_tf_dataset
函式!

專用指南
每種資料集模態在載入和處理方式上都有其細微差別。例如,當您載入音訊資料集時,音訊訊號會由 Audio
特徵自動即時解碼和重取樣。這與載入文字資料集大不相同!
為了使所有特定於模態的文件更易於查詢,我們新增了專門的章節,其中包含重點介紹如何載入和處理每種模態的指南。如果您正在尋找有關處理特定資料集模態的資訊,請首先檢視這些專用章節。同時,非特定且可廣泛使用的函式則記錄在“通用用法”部分。以這種方式重新組織文件將使我們能夠更好地擴充套件到未來計劃支援的其他資料集型別。

檢視專用指南,瞭解更多關於載入和處理不同模態資料集的資訊。
ImageFolder
通常,🤗 Datasets 使用者會編寫資料集載入指令碼以下載並生成具有適當 train
和 test
分割的資料集。藉助 ImageFolder
資料集構建器,您無需編寫任何程式碼即可下載和生成影像資料集。載入影像分類的影像資料集就像確保您的資料集組織在一個資料夾中一樣簡單,如下所示:
folder/train/dog/golden_retriever.png
folder/train/dog/german_shepherd.png
folder/train/dog/chihuahua.png
folder/train/cat/maine_coon.png
folder/train/cat/bengal.png
folder/train/cat/birman.png

影像標籤是根據目錄名稱在 label
列中生成的。ImageFolder
讓您能夠立即開始使用影像資料集,省去了編寫資料集載入指令碼所需的時間和精力。
但等等,這還不止!如果您有一個檔案包含影像資料集的一些元資料,ImageFolder
也可以用於其他影像任務,如影像字幕和目標檢測。例如,目標檢測資料集通常包含**邊界框**,即影像中識別物體位置的座標。ImageFolder
可以使用此檔案將邊界框和類別元資料鏈接到資料夾中對應的影像。
{"file_name": "0001.png", "objects": {"bbox": [[302.0, 109.0, 73.0, 52.0]], "categories": [0]}}
{"file_name": "0002.png", "objects": {"bbox": [[810.0, 100.0, 57.0, 28.0]], "categories": [1]}}
{"file_name": "0003.png", "objects": {"bbox": [[160.0, 31.0, 248.0, 616.0], [741.0, 68.0, 202.0, 401.0]], "categories": [2, 2]}}
dataset = load_dataset("imagefolder", data_dir="/path/to/folder", split="train")
dataset[0]["objects"]
{"bbox": [[302.0, 109.0, 73.0, 52.0]], "categories": [0]}
如果您有一個包含所需資訊的元資料檔案,可以使用 ImageFolder
載入幾乎任何型別的影像任務的影像資料集。檢視 ImageFolder 指南瞭解更多資訊。
接下來是什麼?
就像 🤗 Datasets 庫的第一次迭代標準化了文字資料集並使其變得非常容易下載和處理一樣,我們也非常高興能將同樣的易用性帶給音訊和影像資料集。透過這樣做,我們希望使用者能更輕鬆地訓練、構建和評估各種模態的模型和應用程式。
在接下來的幾個月裡,我們將繼續新增新功能和工具,以支援處理音訊和影像資料集。🤗 Hugging Face 內部訊息稱,很快就會推出一個名為 AudioFolder
的東西!🤫 在等待期間,您可以隨意檢視音訊處理指南,然後親身體驗像 GigaSpeech 這樣的音訊資料集。
如果您對音訊和影像資料集的使用有任何疑問和反饋,請加入論壇。如果您發現任何 bug,請提交 GitHub Issue,以便我們及時處理。
感覺更有冒險精神?為不斷壯大的社群驅動的音訊和影像資料集集合貢獻一份力量吧,盡在 Hub!在 Hub 上建立一個數據集倉庫並上傳您的資料集。如果您需要幫助,請在您的倉庫的社群選項卡上發起討論,並 @ 🤗 Datasets 團隊成員,他們會幫助您完成這項任務!