欢迎光临散文网 会员登陆 & 注册

数据加载器

2023-03-28 15:15 作者:熊二爱光头强丫  | 我要投稿


数据加载器是指将数据集读入内存并进行预处理后,以可供模型训练使用的形式传输给模型的程序。以下是一个简单的数据加载器的示例代码,假设数据集为图像数据集,每个样本包含一张图像和对应的标签。

上述代码中,我们首先定义了一个自定义的 DatasetMyDataset,其中 __len__ 方法返回数据集的长度,__getitem__ 方法根据索引返回一个样本,并进行预处理(可选)。我们使用 torchvision.transforms 中的一些预处理函数对图像进行了预处理,比如将图像缩放到统一的大小、进行随机水平翻转、将图像转化为张量,并将像素值归一化到 [-1, 1] 之间。然后,我们将训练集和验证集分别封装为 MyDataset 类型的对象 train_datasetvalid_dataset,并使用 DataLoader 类将它们封装为可迭代的加载器对象 train_loadervalid_loader。在 DataLoader 中我们设置了 batch_sizeshufflenum_workers 参数,其中 batch_size 表示每个批次的样本数,shuffle 表示是否在每个 epoch 开始时打乱数据集,num_workers 表示数据加载所需的进程数。然后我们就可以通过迭代器 train_loadervalid_loader 来访问数据集中的每个批次数据进行模型的训练和验证了。


数据加载器的评论 (共 条)

分享到微博请遵守国家法律