【深度学习笔记1】-pytorch的dataloader参数shuffle设置true或false

作为一名深度学习的小白,最近在做LSTM预测股票问题,发现训练集的shuffle必须为true而测试集的shuffle必须为false。如果训练集的shuffle不设置为true的话训练出来的模型不泛化,也就是只适合预测这一个数据集,换到别的数据集上效果不好也有可能在本数据集上预测的效果也不好。而测试集的shuffle不建议设置为true,一般的教程上只是提了要把训练集的shuffle设置为true,没有提测试集的要不要设置为true,所以困扰了我好几天。至于为什么测试集不能设置为true,我还没有整明白,在这里只是记录一下自己的学习过程和错误。

在LSTM预测时序数据的背景下,不把测试集shuffle设置为true是因为:

该模型的目的是去寻找该序列数据的规律,如果把测试集的顺序打乱那么LSTM预测结果的target就是混乱的,而LSTM预测出来的结果还是按照序列数据的那个规律预测的,那么展示的结果就是不准确的,驴唇对马嘴了属于是

最后,

因为LSTM需要的是序列数据,而训练集加载器的shuffle=true的话不就把这个序列打乱了吗?

猜想1:因为在将时序数据切割成监督数据的时候,比如time_step=3,那么就是三个数据一组,这个时候序列数据的顺序还是没有被打乱的,shuffle=true被打乱的顺序只是组与组之间的顺序,而组内数据与数据之间的顺序没有被打乱。

猜想2:如果上面的猜想1不成立的话,有两种解决办法:第一种就是训练集的加载器shuffle不设置为true,第二种方法是向数据中添加一个维度,这个维度代表了数据在序列中的位置信息࿰

### PyTorch 学习笔记概述 李毅编写的《PyTorch学习笔记》是一份详尽的学习指南,旨在帮助读者掌握深度学习框架PyTorch的核心概念和技术。这份笔记不仅涵盖了基础理论知识,还提供了大量实践案例和代码实现。 #### 主要内容结构 1. **环境搭建** 安装配置PyTorch运行所需的软件环境,包括Python版本的选择、CUDA支持以及Anaconda的使用方法[^2]。 2. **张量操作** 解释了如何创建、转换和处理多维数组(即张量),这是构建神经网络模型的基础构件之一[^3]. 3. **自动求导机制** 描述了Autograd模块的工作原理及其在反向传播算法中的应用,使用户能够轻松定义复杂的计算图并高效训练模型[^4]. 4. **优化器与损失函数** 探讨了几种常用的梯度下降变体(SGD, Adam等)及相应的损失衡量标准(MSE Loss, CrossEntropyLoss等),这些组件对于调整权重参数至关重要[^5]. 5. **数据加载与预处理** 展示了Dataset类和DataLoader类的功能特性,它们可以简化大规模图像分类任务的数据读取流程;同时也介绍了常见的图片增强技术来扩充样本集规模[^6]. 6. **卷积神经网络(CNN)** 结合具体实例深入剖析CNN架构设计思路,如LeNet,VGG,resnet系列,并给出完整的项目源码供参考学习[^7]. 7. **循环神经网络(RNN/LSTM/GRU)** 阐述时间序列预测场景下RNN家族成员的特点优势,通过手写字符识别实验验证其有效性[^8]. 8. **迁移学习实战演练** 利用预训练好的大型模型作为特征提取器,在新领域内快速建立高性能的应用程序,减少重复劳动成本的同时提高了泛化能力[^9]. 9. **分布式训练入门指导** 当面对超大数据集时,单机难以满足需求,此时可借助于torch.distributed包来进行集群式的协同工作模式探索[^10]. ```python import torch from torchvision import datasets, transforms transform = transforms.Compose([transforms.ToTensor()]) train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform) train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=64, shuffle=True) for images, labels in train_loader: print(images.shape) break ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值