from torchvision import datasets与from torch.utils.data import Dataset的区别

from torchvision import datasetsfrom torch.utils.data import Dataset 引入的是两个不同的模块,分别用于处理不同的数据集和数据加载任务。

  1. torchvision.datasets

    • torchvision 是 PyTorch 提供的一个与计算机视觉相关的库,包含了一些经典的计算机视觉数据集,以及图像处理和转换的工具。
    • torchvision.datasets 模块中包含了一些预定义的数据集类,如 datasets.CIFAR10datasets.ImageFolder 等。这些类已经实现了数据集加载、图像处理等逻辑,使得用户能够方便地使用这些数据集进行训练。

    示例:

    from torchvision import datasets

    # 使用 CIFAR-10 数据集
    train_dataset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
     

  2. torch.utils.data.Dataset

    • torch.utils.data 是 PyTorch 中用于构建自定义数据集和数据加载器的模块。
    • torch.utils.data.Dataset 是一个抽象基类,用户可以通过继承它并实现 __len____getitem__ 方法来创建自定义的数据集类。

    示例:

    from torch.utils.data import Dataset
    
    class CustomDataset(Dataset):
        def __init__(self, data, transform=None):
            self.data = data
            self.transform = transform
    
        def __len__(self):
            return len(self.data)
    
        def __getitem__(self, idx):
            sample = self.data[idx]
    
            if self.transform:
                sample = self.transform(sample)
    
            return sample
    

总体来说,torchvision.datasets 提供了一些常见数据集的快速接入方式,而 torch.utils.data.Dataset 则为用户提供了更大的灵活性,使其能够自定义数据加载逻辑。用户可以根据任务的需要选择使用其中之一,或者两者结合使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值