iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0

昨天我們練習了用 Hugging Face Datasets Library 來把 Hugging Face Hub 上的 dataset 載下來,今天我們來試著戴入自己的 Dataset 吧!

載入本地端的 Dataset

昨天我們用 sentiment = load_dataset("poem_sentiment") 來載入 Hugging Face Hub 上的 dataset,今天我們也是可以用類似的方法來載入。

  1. 如果要載入 CSV 的 dataset 的話,可以用下面的程式碼:
csv_dataset = load_dataset("csv", data_files="my_dataset.csv")
  1. 依此類推,我們可以透過這種方式,來載入 txt、JSON 還有pickled dataframe

txt_dataset = load_dataset("text", data_files="my_dataset.txt")
json_dataset = load_dataset("json", data_files="my_dataset.jsonl") #注意這裡用的是 JSON Lines 的格式
pandas_dataset = load_dataset("pandas", data_files="my_dataset.pkl")
  1. 還可以指定分隔符號和欄位,這裡分隔符號就要視你本身的 dataset 而定。
csv_dataset = load_dataset("csv", data_files="my_dataset.csv",sep=",",
                               names=["text", "label"])

載入遠端的 Dataset

很多時候我們自己的 dataset ,不是放在自己本地端電腦,而是放在雲服務上面,例如說 AWS S3 或是 Azure Blob 這類的 Object storage 裡面,甚至是 dropbox 雲端硬碟裡面。我們也可以把這類的 Dataset 載進來。

  1. 這把整個 dataset 載下來的程式碼,如果你不在 Jupyter notebook 裡下載,要在 terminal 裡下載的話,就把驚嘆號給去掉。
dataset_url = "https://your.dataset/url"
!wget {dataset_url}
  1. 也可以直接把網址放進去,來載入遠端的 dataset。
url = "https://your.dataset/url"
remote_dataset = load_dataset("csv", data_files=url)
  1. 很多時候,你會把 training dataset 和 test dataset 分開成不同的檔案,可以用下面的程式碼一口氣合併且載入 dataset。這是一個很方便的做法。
url = "https://your.dataset/url"
data_files = {
    "train": url + "train.json.gz",
    "test": url + "json.gz",
}
# 這裡可以省下解壓縮 gz 檔的動作,直接 load 成 dataset,非常的方便實用
remote_dataset = load_dataset("json", data_files=data_files)

以上就是今天關於載入自己 dataset 的操作啦!實務上這反而是最常用到的,因為我們的想訓練給自己應用程式的 dataset ,往往是屬於自己專業領域的 domain knowhow ,不會出現在 Hugging Face Hub 上面的。

此外,實務上還會很常碰到超級巨大的 dataset,畢章我們要訓練一個好的 AI model ,就是要讓它看過一大堆的資料。明天我們再來聊聊怎麼匯入超級巨大的 dataset,以及在 Hugging Face 裡面的優化機制吧!


上一篇
# Day6-初探 Hugging Face Dataset Library
下一篇
# Day8-載入極巨大的 Dataset -- Arrow 篇
系列文
變形金剛與抱臉怪---NLP 應用開發之實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言