pytorch(五):批训练

本文介绍如何使用PyTorch实现数据加载器,将数据分批输入到模型中进行训练,并通过实例展示了从数据生成到训练的全过程。重点突出了数据集创建、数据加载器配置以及训练循环的实现。

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

import torch
import torch.utils.data as Data


# 虚构要训练的数据
x = torch.linspace(11, 20, 10)  # 在[11, 20]里取出10个间隔相等的数 (torch tensor)
y = torch.linspace(20, 11, 10)


BATCH_SIZE = 5  # 每批需要训练的数据个数


# 把tensor转换成torch能识别的数据集
torch_dataset = Data.TensorDataset(data_tensor=x, target_tensor=y)


# 把数据集放进数据装载机里
loader = Data.DataLoader(
    dataset=torch_dataset,  # 数据集
    batch_size=BATCH_SIZE,  # 每批需要训练的数据个数
    shuffle=True,  # 是否打乱取数据的顺序(打乱的训练效果更好)
    num_workers=2,  # 多线程读取数据
)


# 批量取出数据来训练
for epoch in range(3):  # 把整套数据重复训练3遍
    for step, (batch_x, batch_y) in enumerate(loader):  # 每次从数据装载机里取出批量数据来训练
        # 以下为训练的地方
        # …………
        # 把每遍里每次取出的数据打印出来
        print('Epoch:', epoch, '|Step:', step,  # Epoch表示哪一遍, Step表示哪一次
              'batch x:', batch_x.numpy(),
              'batch y:', batch_y.numpy(),
        )

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值