双输入数据集
构建多输入模型,首先要编写一个自定义数据集,能够为模型提供所有输入。在本练习中,您将构建 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
本练习是课程的一部分
PyTorch 深度学习进阶
交互式实操练习
通过完成这段示例代码来试试这个练习。
class OmniglotDataset(Dataset):
def __init__(self, transform, samples):
# Assign transform and samples to class attributes
____ = ____
____ = ____