使用 Hugging Face 的 llava-instruct-150k 作為範例(圖像-指令對)
from datasets import load_dataset
raw_datasets = load_dataset("HuggingFaceH4/llava-instruct-mix-vsft")
raw_datasets
(輸出結果,llava-instruct-150k資料集的格式:每一筆資料主要包含兩個欄位:image 和 messages)
train_dataset = raw_datasets["train"]
eval_dataset = raw_datasets["test"]
# 練習用,只隨機選取一小部分資料做測試
small_train_dataset = train_dataset.shuffle(seed=42).select(range(int(len(train_dataset)*0.1)))
small_eval_dataset = eval_dataset.shuffle(seed=42).select(range(int(len(eval_dataset)*0.1)))
檢視資料內容
example = small_train_dataset[10]
images = example["images"]
images[0]
messages = example['messages']
messages
格式說明:
LLaVA 的對話格式需要符合特定的模板
格式: "USER: \n{question}\nASSISTANT: {answer}"
我們需要將資料集的每一筆資料轉換成這個格式