두 입력을 받는 데이터세트
멀티 입력 모델을 만들려면, 먼저 모델에 필요한 모든 입력을 제공할 수 있는 사용자 정의 데이터세트를 구성해야 해요. 이 연습 문제에서는 다음과 같은 트리플을 제공하는 Omniglot 데이터세트를 구축해 보겠습니다.
- 분류할 문자 이미지,
- 길이 30의 원-핫(one-hot) 인코딩된 알파벳 벡터(문자가 속한 알파벳의 ID를 나타내는 위치만 1, 나머지는 0),
- 타깃 레이블(0에서 963 사이의 정수).
이미지의 파일 경로, 해당 알파벳 벡터, 타깃 레이블로 이루어진 3-튜플 리스트인 samples가 제공되어 있어요. 또한 아래 임포트는 이미 완료되어 있으니 바로 시작해 볼까요?
from PIL import Image
from torch.utils.data import DataLoader, Dataset
from torchvision import transforms
이 연습은 강의의 일부입니다
PyTorch로 배우는 Intermediate Deep Learning
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
class OmniglotDataset(Dataset):
def __init__(self, transform, samples):
# Assign transform and samples to class attributes
____ = ____
____ = ____