超级简单——看完就懂的Pytorch线性回归前期数据准备

简单案例及示意,帮助初学者一起理解数据处理的逻辑

一、开篇先上完整代码

import torch
import torch.utils.data as Data
if __name__ == '__main__':
    X=torch.Tensor([[10,11,12],[13,14,15],[16,17,18],[19,20,21]])
    Y=torch.Tensor([100,101,102,103])
    train_data=Data.TensorDataset(X,Y)
    train_loader=Data.DataLoader(dataset=train_data,batch_size=2,shuffle=True,num_workers=1)
    for index,(X_x,Y_y) in enumerate(train_loader):
        print('索引:',index)
        print('x:',X_x)
        print('y:',Y_y)

二、导入Pytorch以及相关数据处理模块

import torch
import torch.utils.data as Data

三、构建自变量和因变量

if __name__ == '__main__':
    X=torch.Tensor([[10,11,12],[13,14,15],[16,17,18],[19,20,21]])
    Y=torch.Tensor([100,101,102,103])

注意:因为涉及多线程问题,码上if name == ‘main’:,避免程序报错。

四、利用TensorDataset将自变量X与因变量Y整合在一起

	train_data=Data.TensorDataset(X,Y)

五、利用DataLoader加载整合好的数据集

 	train_loader=Data.DataLoader(dataset=train_data,batch_size=2,shuffle=True,num_workers=1)
	 #dataset为要使用的数据集
	 #batch_size为一次样本的大小,如1,2,16,32,64等等,本例数据样本简单,选2
	 #shuffle()可选择‘True’或者‘False’,是否打乱数据
	 #num_workers=1,使用1线程。

六、输出每次的数据匹配

	for index,(X_x,Y_y) in enumerate(train_loader):
        print('索引:',index)
        print('x:',X_x)
        print('y:',Y_y)
        #enumerate()函数是一个可以返回带索引值的函数,此处不展开,不懂可以自己C一下。

七、程序结果

batch_size=2,shuffle=True的情况,每次x与y各抽取两个,共2个batch为0和1
在这里插入图片描述
batch_size=2,shuffle=False的情况,每次x与y各抽取2个,按顺序,不打乱抽取,共2个batch为0和1.
在这里插入图片描述
batch_size=1,shuffle=True的情况,每次x与y各抽取1个,共4个batch为0-3
在这里插入图片描述
batch_size=1,shuffle=False的情况,按顺序,不打乱抽取,每次x与y各抽取1个,共4个batch为0-3
在这里插入图片描述

八、说明

本文简单实例化自变量X与因变量Y,非常简单,只是帮助大家进一步理解数据整合和数据加载的相关逻辑。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值