pytorch 构造读取数据的工具类 Dataset 与 DataLoader (pytorch Data学习一)

本文介绍如何使用PyTorch的Dataset和DataLoader类来加载和处理数据集,包括定义自定义数据集类、设置批处理大小及是否打乱数据等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本思路

  • 所有的数据都叫Dataset
  • 加载数据的叫DataLoader
  • 每次加载多少条数据叫batch_size

所以构造训练数据的步骤是:首先把数据加载为Dataset,然后用DataLoader依次把数据传递到模型中即可

全部代码

import torch
import numpy as np
from torch.utils.data import Dataset, DataLoader


class MyDataset(Dataset):

    def __init__(self):
        txt_data = np.loadtxt('./my_data.txt', delimiter=',')
        self._x = torch.from_numpy(txt_data[:, :2])
        self._y = torch.from_numpy(txt_data[:, 2])
        self._len = len(txt_data)

    def __getitem__(self, item):  # 每次循环的时候返回的值
        return self._x[item], self._y[item]

    def __len__(self):
        return self._len


data = MyDataset()
dataloader = DataLoader(data, batch_size=3, shuffle=False, drop_last=True, num_workers=0)
n = 0
for x_data, y_label in dataloader:
    print('x:', x_data)
    print("y:", y_label)
    n += 1
print('迭代次数:', n)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆萌的代Ma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值