pytorch:minibatch

本文介绍如何使用PyTorch进行数据集的批量加载及训练流程。通过具体实例,演示了如何创建数据集、设置 DataLoader 并利用它来进行数据的小批次训练。特别地,文章详细解释了 DataLoader 的参数配置及其在训练过程中的应用。

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

import torch
import torch.utils.data as Data
#Data为训练过程中进行小批次训练的途径

torch.manual_seed(1)

BATCH_SIZE=5
x=torch.linspace(1,10,10)
y=torch.linspace(10,1,10)

#定义一个torch数据库,将我们的xy数据都放到里面
torch_dataset=Data.TensorDataset(x,y)
#用loader来使我们的训练变成一小批一小批的
loader=Data.DataLoader(
    dataset=torch_dataset,
    batch_size=BATCH_SIZE,
    shuffle=True,   #定义训练过程是否要随机打乱数据顺序
    num_workers=2,  #定义每次提取batchx和batchy时使用2个线程
)

#如何把我们的data用到训练当中去
def show_batch():
    for epoch in range(3):
        #把所有数据整体训练3次,每次训练都会
        #现在有10个数据,batch_size为5,每个epoch中,将10个数据拆为两组,每组有5个数据,
        #每个内层for循环中,将这组拆两组来训练,外层大的一共进行三次
        for setp,(batch_x,batch_y) in enumerate(loader):
            #enumerate函数将输入转化为一个索引序列如下
            # >> > seasons = ['Spring', 'Summer', 'Fall', 'Winter']
            # >> > list(enumerate(seasons))
            # [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
            #model training process
            print('Epoch:',epoch,'|Step:',setp,'|batch x:',
                batch_x.numpy(),'|batch y:',batch_y.numpy())

if __name__ == '__main__':
    show_batch()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值