从零学习PyTorch(8)----好好吃饭,细嚼慢咽


本章将大量的数据划分为多个小部分数据,对模型进行训练。

整体流程及示例代码

这个的整体流程应该是:拿到数据----创建数据库----创建loader----进行训练

import torch as t
import torch.nn.functional as tnf
import torch.utils.data as Data

if __name__ == '__main__':
    # 每次进行训练的数据包大小
    BATCH_SIZE = 5

    x = t.linspace(1, 10, 10)
    y = t.linspace(10, 1, 10)

    # 制作数据库,首先传入待处理数据,之后传入标签数据
    # 现在不用标志data_tensor和target_tensor,按照顺序传入就好
    torch_dataset = Data.TensorDataset(x, y)
    # 还要有一个loader,应该定义 数据库,单位数量、是否打乱
    loader = Data.DataLoader(
        dataset=torch_dataset,
        batch_size=BATCH_SIZE,
        shuffle=True,
        num_workers=2
    )

    # 将所有数据执行3次,并且每个循环内调用loader
    for epoch in range(3):
        for step, (batch_x, batch_y) in enumerate(loader):
            # training
            print('Epoch: ', epoch, '| Step: ', step, '| batch x: ',
                  batch_x.numpy(), '| batch y: ', batch_y.numpy())

方法解析

1.Data.TensorDataset

创建tensor数据库,第一项输入参数为data,第二项为target
更新后不必再进行标注。

2.Data.DataLoader

创建Loader,传入参数依次为:数据库对象,单位装载量,是否打乱装载,线程数量。

3.for x,y in enumerate(z)

这是python自带的本土方法,遍历z数组,x、y分别为其索引及内容。

4.loader单位装载量

设置loader的单位装载量,及为每次从数据库中取出多少个数据出来,不需要和数据库中所存在的数据量进行匹配。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值