雙輸入資料集
建立多輸入模型,首先要打造一個自訂的資料集,能同時提供模型所需的所有輸入。在本練習中,你將建立 Omniglot 資料集,它會提供包含以下內容的三元組:
- 要分類的字元影像,
- 長度為 30 的 one-hot 編碼字母表向量,除了代表該字元所屬字母表 ID 的那個位置是 1,其餘皆為 0,
- 目標標籤,介於 0 到 963 的整數。
你已獲得 samples,這是一個由 3 元組組成的清單,分別包含影像的檔案路徑、其字母表向量,以及目標標籤。另外,下列匯入也都已經替你完成了,開始動手吧!
from PIL import Image
from torch.utils.data import DataLoader, Dataset
from torchvision import transforms
本練習屬於課程
Intermediate Deep Learning with PyTorch
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
class OmniglotDataset(Dataset):
def __init__(self, transform, samples):
# Assign transform and samples to class attributes
____ = ____
____ = ____