TensorDataset的作用如zip在python中的运用一般
a=[1,2,3,4]
b=[5,6,7,8]
def f(x):
for i in zip(*x):
print(i)
f((a,b))
结果:
(1, 5)
(2, 6)
(3, 7)
(4, 8)
使用TensorDataset生产一个可迭代的张量集合
a = torch.tensor([[0.8355, -1.1064],
[0.1389, 0.6293]])
b = torch.tensor([[9.6242],
[2.3294]])
c=data.TensorDataset(a,b)
for i in c:
print(i)
结果:
(tensor([ 0.8355, -1.1064]), tensor([9.6242]))
(tensor([0.1389, 0.6293]), tensor([2.3294]))
之后可以使用Dataloader进行数据加载。
dataset=data.TensorDataset(a,b)
data_iter=data.DataLoader(dataset, batch_size, shuffle=is_train)
DataLoader生成一个可迭代对象,可以使用for循环或者使用next取样。
for i indata_iter:
......
或
next(iter(data_iter))