python中中将数据集打乱_Pytorch数据集读入——Dataset类,实现数据集打乱Shuffle

本文介绍了如何在Pytorch中利用自定义Dataset类实现数据集的打乱操作,以避免过拟合问题。通过创建一个txt文件存储数据路径并打乱顺序,然后使用cDataset类读取打乱后的数据。详细步骤包括创建list,打乱数据,以及创建新的Dataset类用于训练过程。
摘要由CSDN通过智能技术生成

在进行相关平台的练习过程中,由于要自己导入数据集,而导入方法在市面上五花八门,各种库都可以应用,在这个过程中我准备尝试torchvision的库dataset torchvision.datasets.ImageFolder 简单应用起来非常简单,用torchvision.datasets.ImageFolder实现图片的导入,在随后训练过程中用Datalodar处理后可按批次取出训练集

class ImageFolder(root, transform=None, target_transform=None, loader=default_loader, is_valid_file=None) ImageFolder有这么几个参数,其中root指的是数据所在的文件夹,其中该文件夹的存储方式应为 root/labels/xxx.jpg 即根据自身分类标签存储在对应标签名的文件夹内 ImageFolder在读入的过程中会自行加好标签,最后形成一对对的数据 另外比较常用的就是transform,表示对于传入图片的预处理,如剪裁,颜色选择等等 比如

transform_t = transforms.Compose([

transforms.Resize([64, 64]),

transforms.Grayscale(num_output_channels=1),

transforms.ToTensor()]

)

具体参数可以上网查看 在之后用DataLodar处理后虽然的确有Shuffle的参数,但是却只是在一个小批次内进行打乱,原本是按照类别存储的,这样的话会导致很严重的过拟合,为了避免这个,我决定常识改写一下Dataset的类(主要是看起来Dataset看起来改写比较顺手...ImageFold

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值