pytorch批训练

由于数据量太大,经常会把整个数据拆成一小批一小批来训练,可以提高训练效率。

Torch提供了一种整理数据的方法:DataLoader,用它来包装数据,进行批训练

构建数据

import numpy as np
import torch
import torch.utils.data as Data

BATCH_SIZE = 5
x = torch.linspace(1,10,10) #x是1-10
y = torch.linspace(10,1,10) #y是10-1
print(x)
print(y)

在这里插入图片描述

import numpy as np
import torch
import torch.utils.data as Data

BATCH_SIZE = 5
x = torch.linspace(1,10,10) #x是1-10
y = torch.linspace(10,1,10) #y是10-1
#print(x)
#print(y)[]

torch_dataset = Data.TensorDataset(x,y)
#表示我们的数据集是x,验证集是y

loader = Data.DataLoader(
        dataset = torch_dataset,
        batch_size = BATCH_SIZE,
        shuffle = True)
#        num_workers = 2)
#表示每一批数据是五个,那么10个数据一共就拆成两批去训练
#要不要随机打乱shuffle = True表示每次训练打乱顺序
#windows去掉num_workers = 2这一行,表示每次都是用两个进程来提取的,会更有效率



#数据集整体训练三次,每次都
for epoch in range(3):
    for step,(batch_x,batch_y) in enumerate(loader):#把loader每次提取的时候加上索引赋给step
        #training...
        print('Epoch:',epoch,'| Step:',step,'| batch x:',batch_x,
              '| batch y:',batch_y) 

在这里插入图片描述
每次的数据是被打乱的,因为shuffle = True

如果不打乱,就是每次都是平均分两批数据训练:
在这里插入图片描述

如果数据不是平均分配的话,如果batch_size = 8的时候,那么就会先训练八个数据,剩下两个数据第二次训练:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值