pytorch:dataset和dataloader实例(结构化数据,即表格数据)

入坑pytoch记录一下

import 部分

import numpy
import numpy as np
import pandas as pd
import torch
import pandas
import random
from torch.utils.data import Dataset
from torch.utils.data import DataLoader

随机创造数据

流程是随机构造数据,保存到本地中,构建dataset后直接从本地文件中读取数据

x=np.array(random.sample(range(1,10001),10000)).reshape(100,100)
y=np.array(np.ones(x.shape[0])).reshape((-1,1))
xy=np.hstack((x,y)) 
np.savetxt("xy.csv",xy,delimiter=",")
filepath="xy.csv"

dataset

class mydataset(Dataset):
    def __init__(self, filepath):
        xy = pd.read_csv(filepath)
        self.len = xy.shape[0]
        self.x_data = torch.from_numpy(xy.iloc[:,:-1].values)
        self.y_data = torch.from_numpy(xy.iloc[:,[-1]].values)

    def __len__(self):
        return self.len
    def __getitem__(self,index):
        return self.x_data[index], self.y_data[index]

实例化dataset 和构建dataloader

mydataset1 = mydataset(filepath)
#验证一下是否构建完成 (按行查看)
for datas, labels in mydataset1:
    print(labels.tolist())
dataloader1=DataLoader(mydataset1,batch_size=3,shuffle=True)

验证(从dataloader和dataset拿取数据)

#查看dataloader方式1,查看一个mini_batch中的数据数据(3,100)
data = iter(dataloader1)
data = next(data)
print(data)
#查看dataloader方式2,查看整个data_loader里面的数据
for step,(batch_x,batch_y) in enumerate(dataloader1):    
    print('| Step:', step, '| batch x: ', batch_x.numpy(), '| batch y: ', batch_y.numpy())
#查看dataloader方式3 和1差不多哈
data = torch.utils.data.DataLoader(mydataset1,batch_size=3,shuffle=True)
data = iter(data)
(inputs, labels) = next(data)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值