pytorch之TensorDataset

本文介绍了如何使用PyTorch的TensorDataset和DataLoader对数据进行包装和分批次处理。通过示例展示了如何创建包含多个输入和输出的TensorDataset,并利用DataLoader进行随机批量加载,这对于训练神经网络模型非常有用。

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

  • 包装数据和目标张量的数据集。
torch.utils.data.TensorDataset(data_tensor, target_tensor)
x_1 = torch.arange(30).reshape(-1,3)

y_1 = torch.arange(10)*3



# TensorDataset对tensor进行打包
dataset = data.TensorDataset(x_1, y_1) 
for x_1_train, y_1_train in dataset:
    print(x_1_train, y_1_train)

# dataloader进行数据封装
print('=' * 80)
train_loader = data.DataLoader(dataset=dataset, batch_size=4, shuffle=True)
for i, data_ in enumerate(train_loader):  
# enumerate返回值有两个,一个是序号,一个是数据(包含训练数据和标签)
    x_1_train, y_1_train = data_
    print(f' batch:{i+1} x_data:{x_1_train}  y_data:{y_1_train}')

运行解果:

tensor([0, 1, 2]) tensor(0)
tensor([3, 4, 5]) tensor(3)
tensor([6, 7, 8]) tensor(6)
tensor([ 9, 10, 11]) tensor(9)
tensor([12, 13, 14]) tensor(12)
tensor([15, 16, 17]) tensor(15)
tensor([18, 19, 20]) tensor(18)
tensor([21, 22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值