b站的up主刘二大人的《PyTorch深度学习实践》P8 笔记+代码,视频链接。
所需糖尿病数据可以在视频评论区下方的网盘资源里下载(转载评论区):
- 链接:https://pan.baidu.com/s/1cUI518pgLWY1oCn2DkjuEQ?pwd=kif1 提取码:kif1
- 或者是点击链接下载:【免费】b站的up主刘二大人的《PyTorch深度学习实践》所需数据资源-CSDN文库
所需Titanic数据:
kaggle链接:
https://www.kaggle.com/c/titanic/data- 网盘链接:百度网盘 请输入提取码 提取码2024
目录
一、DataLoader的使用方法
介绍:DataLoader
是 PyTorch 中用于将数据集打包成小批量并提供迭代器的工具,常用于训练模型时按批次读取数据。它的使用可以极大地简化数据加载过程,并支持多线程读取、随机打乱、批量数据等功能。
基本用法代码:(具体可以看后面的代码和作业)
from torch.utils.data import DataLoader
# 假设有一个自定义的数据集 DiabetesDataset
train_loader = DataLoader(dataset=train_dataset, batch_size=32, shuffle=True)
for batch_data, batch_labels in train_loader:
pass
主要参数:
- dataset: 传入
Dataset
对象,它定义了数据集(如你自定义的TitanicDataset
)。 - batch_size: 每个批次的数据量,默认是 1。通常会根据显存大小和训练需要设置合适的批次大小。
- shuffle: 是否在每个 epoch 开始时打乱数据。如果设置为
True
,会在每次迭代时随机打乱数据。对于训练集来说,通常会设置为True
以增加模型泛化能力。 - num_workers: 加载数据时使用的子进程数量。默认为 0,表示使用主进程加载数据。增加
num_workers
数量可以加速数据加载(特别是数据预处理时间较长时)。 - drop_last: 如果
True
,则丢弃最后一个批次的数据,如果该批次的样本数量不足batch_size
。默认为False
。 - pin_memory: 如果设置为
True
,会将数据加载到固定内存中,有助于加速 GPU 的数据传输。常用于 GPU 训练。