Набір даних з двома входами
Побудова багатовхідної моделі починається зі створення власного набору даних, який може передавати моделі всі потрібні входи. У цій вправі ви створите набір даних Omniglot, що повертає трійки, які складаються з:
- Зображення символу для класифікації,
- Вектора абетки у форматі one-hot довжиною 30, де всюди нулі, крім однієї одиниці — індекс абетки, з якої походить символ,
- Цільової мітки — цілого числа від 0 до 963.
Ви отримали samples — список кортежів із 3 елементів: шлях до файла зображення, відповідний вектор абетки та цільова мітка. Крім того, за вас уже імпортовано таке:
from PIL import Image
from torch.utils.data import DataLoader, Dataset
from torchvision import transforms
Ця вправа є частиною курсу
Середній рівень Deep Learning з PyTorch
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
class OmniglotDataset(Dataset):
def __init__(self, transform, samples):
# Assign transform and samples to class attributes
____ = ____
____ = ____